search for: elf64_r_bits

Displaying 4 results from an estimated 4 matches for "elf64_r_bits".

2017 Dec 09
2
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
...apply the relocation to. This is best > described by showing the code for decoding the section: > > typedef struct > { > Elf64_Xword r_data; /* jump and bitmap for relative relocations */ > } Elf64_Relrz; > > #define ELF64_R_JUMP(val) ((val) >> 56) > #define ELF64_R_BITS(val) ((val) & 0xffffffffffffff) > > #ifdef DO_RELRZ > { > ElfW(Addr) offset = 0; > for (; relative < end; ++relative) > { > ElfW(Addr) jump = ELFW(R_JUMP) (relative->r_data); > ElfW(Addr) bits = ELFW(R_BITS) (relative->r_data);...
2017 May 08
4
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
+llvm-dev Discussion here: https://sourceware.org/ml/gnu-gabi/2017-q2/msg00000.html On Tue, May 2, 2017 at 10:17 AM, Suprateeka R Hegde <hegdesmailbox at gmail.com> wrote: > On 02-May-2017 12:05 AM, Florian Weimer wrote: >> On 05/01/2017 08:28 PM, Suprateeka R Hegde wrote: >>> So the ratio shows ~96% is RELATIVE reloc. And only ~4% others. This is >>> not the
2017 Dec 07
0
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
...56-bits contain a bitmap for which words to apply the relocation to. This is best described by showing the code for decoding the section: typedef struct { Elf64_Xword r_data; /* jump and bitmap for relative relocations */ } Elf64_Relrz; #define ELF64_R_JUMP(val) ((val) >> 56) #define ELF64_R_BITS(val) ((val) & 0xffffffffffffff) #ifdef DO_RELRZ { ElfW(Addr) offset = 0; for (; relative < end; ++relative) { ElfW(Addr) jump = ELFW(R_JUMP) (relative->r_data); ElfW(Addr) bits = ELFW(R_BITS) (relative->r_data); offset += jump * sizeof(ElfW(A...
2017 Dec 11
2
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
...the code for decoding the section: >>> >>> typedef struct >>> { >>> Elf64_Xword r_data; /* jump and bitmap for relative relocations */ >>> } Elf64_Relrz; >>> >>> #define ELF64_R_JUMP(val) ((val) >> 56) >>> #define ELF64_R_BITS(val) ((val) & 0xffffffffffffff) >>> >>> #ifdef DO_RELRZ >>> { >>> ElfW(Addr) offset = 0; >>> for (; relative < end; ++relative) >>> { >>> ElfW(Addr) jump = ELFW(R_JUMP) (relative->r_data); >>&g...