search for: r_x86_64_relat

Displaying 6 results from an estimated 6 matches for "r_x86_64_relat".

2017 Dec 11
2
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
...s I posted before: delta+run_length encoding is using 32-bit entries (24-bit delta, 8-bit count). delta+bitmap encoding is using 64-bit entries (8-bit delta, 56-bit bitmap). 1. Chrome browser (x86_64, built as PIE): 605159 relocation entries (24 bytes each) in '.rela.dyn' 594542 are R_X86_64_RELATIVE relocations (98.25%) 14269008 bytes (13.61MB) in use in '.rela.dyn' section 385420 bytes (0.37MB) using delta+run_length encoding 109256 bytes (0.10MB) using delta+bitmap encoding 2. Go net/http test binary (x86_64, 'go test -buildmode=pie -c net/http'...
2017 Dec 07
0
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
...: 8-bits for 'jump' and 24-bits for the bitmap. Here are three real world examples that demonstrate the savings: 1) Chrome browser (x86_64, built as PIE): File size (stripped): 152265064 bytes (145.21MB) 605159 relocation entries (24 bytes each) in '.rela.dyn' 594542 are R_X86_64_RELATIVE relocations (98.25%) 14269008 bytes (13.61MB) in use in '.rela.dyn' section 109256 bytes (0.10MB) if moved to '.relrz.dyn' section Savings: 14159752 bytes, or 9.29% of original file size. 2) Go net/http test binary (x86_64, 'go test -buildmode=pie -c ne...
2017 Dec 09
2
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
* Rahul Chaudhry via gnu-gabi: > The encoding used is a simple combination of delta-encoding and a > bitmap of offsets. The section consists of 64-bit entries: higher > 8-bits contain delta since last offset, and lower 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
2017 Dec 13
2
Reducing code size of Position Independent Executables (PIE) by shrinking the size of dynamic relocations section
...encoding with 32-bit entries: 16-bits for delta, 8-bits for stride, and 8-bits for count. Here are the numbers, inlined with those from the previous schemes for comparison: 1. Chrome browser (x86_64, built as PIE): 605159 relocation entries (24 bytes each) in '.rela.dyn' 594542 are R_X86_64_RELATIVE relocations (98.25%) 14269008 bytes (13.61MB) in use in '.rela.dyn' section 385420 bytes (0.37MB) using delta+count encoding 232540 bytes (0.22MB) using delta+stride+count encoding 109256 bytes (0.10MB) using jump+bitmap encoding 2. Go net/http test b...
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
2019 Jan 28
4
lld write wrong symbol value in .data section if enable -pie
Hi Rui, I still fail to enable the lld in my Uefi firmware build to replace ld, and I found it is related to the wrong symbol values in the .data section, which are pointed by R_X86_64_64 relocation entries. I need your advices. My firmware uses a linker script https://github.com/tianocore/edk2/blob/master/BaseTools/Scripts/GccBase.lds to do the linking. We use position independent code with