Message ID | 20160714151053.20713-1-raj.khem@gmail.com |
---|---|
State | Committed |
Headers |
Received: (qmail 83070 invoked by alias); 14 Jul 2016 15:11:13 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 83060 invoked by uid 89); 14 Jul 2016 15:11:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS, UPPERCASE_50_75 autolearn=ham version=3.3.2 spammy=raj X-HELO: mail-pa0-f66.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Qe/KKQhGhpBWTi0yi9vicB0CSIQ+SaGjbiLfLyuzrkg=; b=jtdUPI7TbI8zxh1BuFoBlmwggws7Nsk+5cZEBHNcUMnxHvx4HhfSZCvlzrV1wsMWUm HSov/5Q/xKmGYmXEWzh06koyauN2AcGQBkeyNYGVniHCqitMG4IwGR40Pu6KZx5pJEvb OgSAJTTIFOIhpTTTBbYTKzR5+12qVOOiqpYyXxDG3k1MUOW9KtSWS+7uMkJPohBaCmZo OhagopHquzOUBXRd99QtkiD0/Ov3knuwpgUpnSYSGVoajk4J7UPPrGwF2bVvW55YxOvN DGas8OmejYKQkQs55W2++gk9YlsCP2jGqOvY1ACmrQy8Q8YKIvO33sMTFMa0c/jzL6YX VOvw== X-Gm-Message-State: ALyK8tIlfN2UcRg1gbQLsHTjuobrUc7ZPlvt1WlWvE0+AYKeFvMzBx0W97JF56H+ONdaIw== X-Received: by 10.66.193.227 with SMTP id hr3mr11577450pac.28.1468509060677; Thu, 14 Jul 2016 08:11:00 -0700 (PDT) From: Khem Raj <raj.khem@gmail.com> To: libc-alpha@sourceware.org Cc: Khem Raj <raj.khem@gmail.com> Subject: [PATCH V2] elf: Define missing Meta architecture specific relocations Date: Thu, 14 Jul 2016 08:10:53 -0700 Message-Id: <20160714151053.20713-1-raj.khem@gmail.com> |
Commit Message
Khem Raj
July 14, 2016, 3:10 p.m. UTC
--- 2016-07-14 Ross Burton <ross.burton@intel.com> Khem Raj <raj.khem@gmail.com> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, R_METAG_TLS_DTPOFF): New. elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
Comments
On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: > --- > 2016-07-14 Ross Burton <ross.burton@intel.com> > Khem Raj <raj.khem@gmail.com> > > * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, > R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, > R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, > R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, > R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, > R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, > R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, > R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, > R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, > R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, > R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, > R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, > R_METAG_TLS_DTPOFF): New. > elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) This looks ok to me. There are a handful of additional relocs defined in binutils but this should suffice to get the build fixed. > diff --git a/elf/elf.h b/elf/elf.h > index b6112d9..04400ec 100644 > --- a/elf/elf.h > +++ b/elf/elf.h > @@ -3682,6 +3682,53 @@ enum > #define R_BPF_NONE 0 /* No reloc */ > #define R_BPF_MAP_FD 1 /* Map fd to pointer */ > > +/* Imagination Meta specific relocations. */ > + > +#define R_METAG_HIADDR16 0 > +#define R_METAG_LOADDR16 1 > +#define R_METAG_ADDR32 2 /* 32bit absolute address */ > +#define R_METAG_NONE 3 /* No reloc */ > +#define R_METAG_RELBRANCH 4 > +#define R_METAG_GETSETOFF 5 > + > +/* Backward compatability */ > +#define R_METAG_REG32OP1 6 > +#define R_METAG_REG32OP2 7 > +#define R_METAG_REG32OP3 8 > +#define R_METAG_REG16OP1 9 > +#define R_METAG_REG16OP2 10 > +#define R_METAG_REG16OP3 11 > +#define R_METAG_REG32OP4 12 > + > +#define R_METAG_HIOG 13 > +#define R_METAG_LOOG 14 > + > +/* GNU */ > +#define R_METAG_GNU_VTINHERIT 30 > +#define R_METAG_GNU_VTENTRY 31 > + > +/* PIC relocations */ > +#define R_METAG_HI16_GOTOFF 32 > +#define R_METAG_LO16_GOTOFF 33 > +#define R_METAG_GETSET_GOTOFF 34 > +#define R_METAG_GETSET_GOT 35 > +#define R_METAG_HI16_GOTPC 36 > +#define R_METAG_LO16_GOTPC 37 > +#define R_METAG_HI16_PLT 38 > +#define R_METAG_LO16_PLT 39 > +#define R_METAG_RELBRANCH_PLT 40 > +#define R_METAG_GOTOFF 41 > +#define R_METAG_PLT 42 > +#define R_METAG_COPY 43 > +#define R_METAG_JMP_SLOT 44 > +#define R_METAG_RELATIVE 45 > +#define R_METAG_GLOB_DAT 46 > + > +/* TLS relocations */ > +#define R_METAG_TLS_TPOFF 56 > +#define R_METAG_TLS_DTPMOD 57 > +#define R_METAG_TLS_DTPOFF 58 > + > __END_DECLS > > #endif /* elf.h */ > -- > 2.9.0 >
On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: > On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >> --- >> 2016-07-14 Ross Burton <ross.burton@intel.com> >> Khem Raj <raj.khem@gmail.com> >> >> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >> R_METAG_TLS_DTPOFF): New. >> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 47 insertions(+) > > This looks ok to me. There are a handful of additional relocs defined > in binutils but this should suffice to get the build fixed. Thanks Will, can you help in installing it ? > >> diff --git a/elf/elf.h b/elf/elf.h >> index b6112d9..04400ec 100644 >> --- a/elf/elf.h >> +++ b/elf/elf.h >> @@ -3682,6 +3682,53 @@ enum >> #define R_BPF_NONE 0 /* No reloc */ >> #define R_BPF_MAP_FD 1 /* Map fd to pointer */ >> >> +/* Imagination Meta specific relocations. */ >> + >> +#define R_METAG_HIADDR16 0 >> +#define R_METAG_LOADDR16 1 >> +#define R_METAG_ADDR32 2 /* 32bit absolute address */ >> +#define R_METAG_NONE 3 /* No reloc */ >> +#define R_METAG_RELBRANCH 4 >> +#define R_METAG_GETSETOFF 5 >> + >> +/* Backward compatability */ >> +#define R_METAG_REG32OP1 6 >> +#define R_METAG_REG32OP2 7 >> +#define R_METAG_REG32OP3 8 >> +#define R_METAG_REG16OP1 9 >> +#define R_METAG_REG16OP2 10 >> +#define R_METAG_REG16OP3 11 >> +#define R_METAG_REG32OP4 12 >> + >> +#define R_METAG_HIOG 13 >> +#define R_METAG_LOOG 14 >> + >> +/* GNU */ >> +#define R_METAG_GNU_VTINHERIT 30 >> +#define R_METAG_GNU_VTENTRY 31 >> + >> +/* PIC relocations */ >> +#define R_METAG_HI16_GOTOFF 32 >> +#define R_METAG_LO16_GOTOFF 33 >> +#define R_METAG_GETSET_GOTOFF 34 >> +#define R_METAG_GETSET_GOT 35 >> +#define R_METAG_HI16_GOTPC 36 >> +#define R_METAG_LO16_GOTPC 37 >> +#define R_METAG_HI16_PLT 38 >> +#define R_METAG_LO16_PLT 39 >> +#define R_METAG_RELBRANCH_PLT 40 >> +#define R_METAG_GOTOFF 41 >> +#define R_METAG_PLT 42 >> +#define R_METAG_COPY 43 >> +#define R_METAG_JMP_SLOT 44 >> +#define R_METAG_RELATIVE 45 >> +#define R_METAG_GLOB_DAT 46 >> + >> +/* TLS relocations */ >> +#define R_METAG_TLS_TPOFF 56 >> +#define R_METAG_TLS_DTPMOD 57 >> +#define R_METAG_TLS_DTPOFF 58 >> + >> __END_DECLS >> >> #endif /* elf.h */ >> -- >> 2.9.0 >>
On Sat, Jul 16, 2016 at 9:00 AM, Khem Raj <raj.khem@gmail.com> wrote: > On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: >> On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >>> --- >>> 2016-07-14 Ross Burton <ross.burton@intel.com> >>> Khem Raj <raj.khem@gmail.com> >>> >>> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >>> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >>> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >>> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >>> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >>> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >>> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >>> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >>> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >>> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >>> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >>> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >>> R_METAG_TLS_DTPOFF): New. >>> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 47 insertions(+) >> >> This looks ok to me. There are a handful of additional relocs defined >> in binutils but this should suffice to get the build fixed. > > Thanks Will, can you help in installing it ? The tree is in freeze so I will defer this to Adhemerval. The change looks low risk to me. >> >>> diff --git a/elf/elf.h b/elf/elf.h >>> index b6112d9..04400ec 100644 >>> --- a/elf/elf.h >>> +++ b/elf/elf.h >>> @@ -3682,6 +3682,53 @@ enum >>> #define R_BPF_NONE 0 /* No reloc */ >>> #define R_BPF_MAP_FD 1 /* Map fd to pointer */ >>> >>> +/* Imagination Meta specific relocations. */ >>> + >>> +#define R_METAG_HIADDR16 0 >>> +#define R_METAG_LOADDR16 1 >>> +#define R_METAG_ADDR32 2 /* 32bit absolute address */ >>> +#define R_METAG_NONE 3 /* No reloc */ >>> +#define R_METAG_RELBRANCH 4 >>> +#define R_METAG_GETSETOFF 5 >>> + >>> +/* Backward compatability */ >>> +#define R_METAG_REG32OP1 6 >>> +#define R_METAG_REG32OP2 7 >>> +#define R_METAG_REG32OP3 8 >>> +#define R_METAG_REG16OP1 9 >>> +#define R_METAG_REG16OP2 10 >>> +#define R_METAG_REG16OP3 11 >>> +#define R_METAG_REG32OP4 12 >>> + >>> +#define R_METAG_HIOG 13 >>> +#define R_METAG_LOOG 14 >>> + >>> +/* GNU */ >>> +#define R_METAG_GNU_VTINHERIT 30 >>> +#define R_METAG_GNU_VTENTRY 31 >>> + >>> +/* PIC relocations */ >>> +#define R_METAG_HI16_GOTOFF 32 >>> +#define R_METAG_LO16_GOTOFF 33 >>> +#define R_METAG_GETSET_GOTOFF 34 >>> +#define R_METAG_GETSET_GOT 35 >>> +#define R_METAG_HI16_GOTPC 36 >>> +#define R_METAG_LO16_GOTPC 37 >>> +#define R_METAG_HI16_PLT 38 >>> +#define R_METAG_LO16_PLT 39 >>> +#define R_METAG_RELBRANCH_PLT 40 >>> +#define R_METAG_GOTOFF 41 >>> +#define R_METAG_PLT 42 >>> +#define R_METAG_COPY 43 >>> +#define R_METAG_JMP_SLOT 44 >>> +#define R_METAG_RELATIVE 45 >>> +#define R_METAG_GLOB_DAT 46 >>> + >>> +/* TLS relocations */ >>> +#define R_METAG_TLS_TPOFF 56 >>> +#define R_METAG_TLS_DTPMOD 57 >>> +#define R_METAG_TLS_DTPOFF 58 >>> + >>> __END_DECLS >>> >>> #endif /* elf.h */ >>> -- >>> 2.9.0 >>>
On 18/07/2016 09:39, Will Newton wrote: > On Sat, Jul 16, 2016 at 9:00 AM, Khem Raj <raj.khem@gmail.com> wrote: >> On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: >>> On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >>>> --- >>>> 2016-07-14 Ross Burton <ross.burton@intel.com> >>>> Khem Raj <raj.khem@gmail.com> >>>> >>>> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >>>> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >>>> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >>>> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >>>> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >>>> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >>>> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >>>> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >>>> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >>>> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >>>> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >>>> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >>>> R_METAG_TLS_DTPOFF): New. >>>> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 47 insertions(+) >>> >>> This looks ok to me. There are a handful of additional relocs defined >>> in binutils but this should suffice to get the build fixed. >> >> Thanks Will, can you help in installing it ? > > The tree is in freeze so I will defer this to Adhemerval. The change > looks low risk to me. Yes, I see this should not interfere with other ports so I think it is ok for 2.24.
On Mon, Jul 18, 2016 at 1:57 PM, Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote: > > > On 18/07/2016 09:39, Will Newton wrote: >> On Sat, Jul 16, 2016 at 9:00 AM, Khem Raj <raj.khem@gmail.com> wrote: >>> On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: >>>> On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >>>>> --- >>>>> 2016-07-14 Ross Burton <ross.burton@intel.com> >>>>> Khem Raj <raj.khem@gmail.com> >>>>> >>>>> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >>>>> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >>>>> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >>>>> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >>>>> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >>>>> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >>>>> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >>>>> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >>>>> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >>>>> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >>>>> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >>>>> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >>>>> R_METAG_TLS_DTPOFF): New. >>>>> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >>>>> 1 file changed, 47 insertions(+) >>>> >>>> This looks ok to me. There are a handful of additional relocs defined >>>> in binutils but this should suffice to get the build fixed. >>> >>> Thanks Will, can you help in installing it ? >> >> The tree is in freeze so I will defer this to Adhemerval. The change >> looks low risk to me. > > Yes, I see this should not interfere with other ports so I think it is > ok for 2.24. Thanks, I applied the patch.
Will Newton <will.newton@gmail.com> writes: > On Mon, Jul 18, 2016 at 1:57 PM, Adhemerval Zanella > <adhemerval.zanella@linaro.org> wrote: >> >> >> On 18/07/2016 09:39, Will Newton wrote: >>> On Sat, Jul 16, 2016 at 9:00 AM, Khem Raj <raj.khem@gmail.com> wrote: >>>> On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: >>>>> On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >>>>>> --- >>>>>> 2016-07-14 Ross Burton <ross.burton@intel.com> >>>>>> Khem Raj <raj.khem@gmail.com> >>>>>> >>>>>> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >>>>>> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >>>>>> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >>>>>> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >>>>>> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >>>>>> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >>>>>> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >>>>>> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >>>>>> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >>>>>> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >>>>>> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >>>>>> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >>>>>> R_METAG_TLS_DTPOFF): New. >>>>>> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >>>>>> 1 file changed, 47 insertions(+) >>>>> >>>>> This looks ok to me. There are a handful of additional relocs defined >>>>> in binutils but this should suffice to get the build fixed. >>>> >>>> Thanks Will, can you help in installing it ? >>> >>> The tree is in freeze so I will defer this to Adhemerval. The change >>> looks low risk to me. >> >> Yes, I see this should not interfere with other ports so I think it is >> ok for 2.24. > > Thanks, I applied the patch. It is missing a lot of definitions: #define R_METAG_REL8 15 #define R_METAG_REL16 16 #define R_METAG_TLS_GD 47 #define R_METAG_TLS_LDM 48 #define R_METAG_TLS_LDO_HI16 49 #define R_METAG_TLS_LDO_LO16 50 #define R_METAG_TLS_LDO 51 #define R_METAG_TLS_IE 52 #define R_METAG_TLS_IENONPIC 53 #define R_METAG_TLS_IENONPIC_HI16 54 #define R_METAG_TLS_IENONPIC_LO16 55 #define R_METAG_TLS_LE 59 #define R_METAG_TLS_LE_HI16 60 #define R_METAG_TLS_LE_LO16 61 Andreas.
On 19/07/2016 04:51, Andreas Schwab wrote: > Will Newton <will.newton@gmail.com> writes: > >> On Mon, Jul 18, 2016 at 1:57 PM, Adhemerval Zanella >> <adhemerval.zanella@linaro.org> wrote: >>> >>> >>> On 18/07/2016 09:39, Will Newton wrote: >>>> On Sat, Jul 16, 2016 at 9:00 AM, Khem Raj <raj.khem@gmail.com> wrote: >>>>> On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: >>>>>> On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >>>>>>> --- >>>>>>> 2016-07-14 Ross Burton <ross.burton@intel.com> >>>>>>> Khem Raj <raj.khem@gmail.com> >>>>>>> >>>>>>> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >>>>>>> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >>>>>>> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >>>>>>> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >>>>>>> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >>>>>>> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >>>>>>> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >>>>>>> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >>>>>>> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >>>>>>> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >>>>>>> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >>>>>>> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >>>>>>> R_METAG_TLS_DTPOFF): New. >>>>>>> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >>>>>>> 1 file changed, 47 insertions(+) >>>>>> >>>>>> This looks ok to me. There are a handful of additional relocs defined >>>>>> in binutils but this should suffice to get the build fixed. >>>>> >>>>> Thanks Will, can you help in installing it ? >>>> >>>> The tree is in freeze so I will defer this to Adhemerval. The change >>>> looks low risk to me. >>> >>> Yes, I see this should not interfere with other ports so I think it is >>> ok for 2.24. >> >> Thanks, I applied the patch. > > It is missing a lot of definitions: > > #define R_METAG_REL8 15 > #define R_METAG_REL16 16 > #define R_METAG_TLS_GD 47 > #define R_METAG_TLS_LDM 48 > #define R_METAG_TLS_LDO_HI16 49 > #define R_METAG_TLS_LDO_LO16 50 > #define R_METAG_TLS_LDO 51 > #define R_METAG_TLS_IE 52 > #define R_METAG_TLS_IENONPIC 53 > #define R_METAG_TLS_IENONPIC_HI16 54 > #define R_METAG_TLS_IENONPIC_LO16 55 > #define R_METAG_TLS_LE 59 > #define R_METAG_TLS_LE_HI16 60 > #define R_METAG_TLS_LE_LO16 61 > > Andreas. > Will, could you add these one for 2.24? Thanks.
On Tue, Jul 19, 2016 at 2:21 PM, Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote: > > > On 19/07/2016 04:51, Andreas Schwab wrote: >> Will Newton <will.newton@gmail.com> writes: >> >>> On Mon, Jul 18, 2016 at 1:57 PM, Adhemerval Zanella >>> <adhemerval.zanella@linaro.org> wrote: >>>> >>>> >>>> On 18/07/2016 09:39, Will Newton wrote: >>>>> On Sat, Jul 16, 2016 at 9:00 AM, Khem Raj <raj.khem@gmail.com> wrote: >>>>>> On Fri, Jul 15, 2016 at 4:50 AM, Will Newton <will.newton@gmail.com> wrote: >>>>>>> On Thu, Jul 14, 2016 at 4:10 PM, Khem Raj <raj.khem@gmail.com> wrote: >>>>>>>> --- >>>>>>>> 2016-07-14 Ross Burton <ross.burton@intel.com> >>>>>>>> Khem Raj <raj.khem@gmail.com> >>>>>>>> >>>>>>>> * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16, >>>>>>>> R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH, >>>>>>>> R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2, >>>>>>>> R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2, >>>>>>>> R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG, >>>>>>>> R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY, >>>>>>>> R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF, >>>>>>>> R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC, >>>>>>>> R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT, >>>>>>>> R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT, >>>>>>>> R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE, >>>>>>>> R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD, >>>>>>>> R_METAG_TLS_DTPOFF): New. >>>>>>>> elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ >>>>>>>> 1 file changed, 47 insertions(+) >>>>>>> >>>>>>> This looks ok to me. There are a handful of additional relocs defined >>>>>>> in binutils but this should suffice to get the build fixed. >>>>>> >>>>>> Thanks Will, can you help in installing it ? >>>>> >>>>> The tree is in freeze so I will defer this to Adhemerval. The change >>>>> looks low risk to me. >>>> >>>> Yes, I see this should not interfere with other ports so I think it is >>>> ok for 2.24. >>> >>> Thanks, I applied the patch. >> >> It is missing a lot of definitions: >> >> #define R_METAG_REL8 15 >> #define R_METAG_REL16 16 >> #define R_METAG_TLS_GD 47 >> #define R_METAG_TLS_LDM 48 >> #define R_METAG_TLS_LDO_HI16 49 >> #define R_METAG_TLS_LDO_LO16 50 >> #define R_METAG_TLS_LDO 51 >> #define R_METAG_TLS_IE 52 >> #define R_METAG_TLS_IENONPIC 53 >> #define R_METAG_TLS_IENONPIC_HI16 54 >> #define R_METAG_TLS_IENONPIC_LO16 55 >> #define R_METAG_TLS_LE 59 >> #define R_METAG_TLS_LE_HI16 60 >> #define R_METAG_TLS_LE_LO16 61 >> >> Andreas. >> > > Will, could you add these one for 2.24? Thanks. Yep, committed.
diff --git a/elf/elf.h b/elf/elf.h index b6112d9..04400ec 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -3682,6 +3682,53 @@ enum #define R_BPF_NONE 0 /* No reloc */ #define R_BPF_MAP_FD 1 /* Map fd to pointer */ +/* Imagination Meta specific relocations. */ + +#define R_METAG_HIADDR16 0 +#define R_METAG_LOADDR16 1 +#define R_METAG_ADDR32 2 /* 32bit absolute address */ +#define R_METAG_NONE 3 /* No reloc */ +#define R_METAG_RELBRANCH 4 +#define R_METAG_GETSETOFF 5 + +/* Backward compatability */ +#define R_METAG_REG32OP1 6 +#define R_METAG_REG32OP2 7 +#define R_METAG_REG32OP3 8 +#define R_METAG_REG16OP1 9 +#define R_METAG_REG16OP2 10 +#define R_METAG_REG16OP3 11 +#define R_METAG_REG32OP4 12 + +#define R_METAG_HIOG 13 +#define R_METAG_LOOG 14 + +/* GNU */ +#define R_METAG_GNU_VTINHERIT 30 +#define R_METAG_GNU_VTENTRY 31 + +/* PIC relocations */ +#define R_METAG_HI16_GOTOFF 32 +#define R_METAG_LO16_GOTOFF 33 +#define R_METAG_GETSET_GOTOFF 34 +#define R_METAG_GETSET_GOT 35 +#define R_METAG_HI16_GOTPC 36 +#define R_METAG_LO16_GOTPC 37 +#define R_METAG_HI16_PLT 38 +#define R_METAG_LO16_PLT 39 +#define R_METAG_RELBRANCH_PLT 40 +#define R_METAG_GOTOFF 41 +#define R_METAG_PLT 42 +#define R_METAG_COPY 43 +#define R_METAG_JMP_SLOT 44 +#define R_METAG_RELATIVE 45 +#define R_METAG_GLOB_DAT 46 + +/* TLS relocations */ +#define R_METAG_TLS_TPOFF 56 +#define R_METAG_TLS_DTPMOD 57 +#define R_METAG_TLS_DTPOFF 58 + __END_DECLS #endif /* elf.h */