This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH V2] elf: Define missing Meta architecture specific relocations


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
>>>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]