similar to: [LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?"

2013 Apr 27
0
[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?
On 04/27/2013 08:07 AM, Yuri wrote: > ELF module of type ET_REL (Relocable module), generated by LLVM, > always has some R_X86_64_32 in debug information sections. > This happens with Reloc models Default,Static,PIC_ and with CodeModel > set to Large. > > What is the way to prevent R_X86_64_32 ELF from ever appearing in ELF? Hi Yuri, why do you want to prevent R_X86_64_32
2013 Apr 27
3
[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?
On 04/26/2013 19:50, Jiong Wang wrote: > > > why do you want to prevent R_X86_64_32 generation? for 32bit dwarf, > I think generation of R_X86_64_32 is reasonable. > > you can check http://dwarfstd.org/doc/DWARF4.pdf. Because R_X86_64_32 elements are 4-byte addresses and can't be relocated for the 64-bit address space over 32-bit limit. Dwarf2 actually allows for
2013 Apr 29
2
[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?
On 04/29/2013 15:53, Keith Walker wrote: > It sounds like you are trying to load the DWARF sections into target memory .... and if so I guess I would have to ask you why as they are not normally loaded into target memory? You are right, debug sections aren't normally loaded into the memory together with the sections needed for running. However, I am mostly focusing on the (lightweight)
2013 Apr 29
0
[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?
I think that you may have confused 2 separate issues here; the size of the DWARF tables with the size of addresses on the target system. The 32-bit DWARF vs. 64-bit DWARF is all about the size of the tables in the DWARF sections (and hence also the size of the references between entries in the tables). So a 32-bit DWARF section can correctly describe code/data addresses that are 64-bit, and any
2013 Apr 29
3
[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?
On 04/29/2013 09:12, Keith Walker wrote: > You only need to go to 64-bit DWARF when your debugging information becomes > too large to fit in 32-bit DWARF tables. I am not sure if this is true. Currently R_X86_64_32 EL relocations are issued for DWARF-32 debug info sections. This is because the size of address in DWARF-32 is only 32-bits, according to the above mentioned specification.
2013 Apr 29
0
[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?
The size of an address on the target machine in the 32-bit DWARF format is NOT restricted to 32-bits. The size of an address on the target machine is specified in the DWARF table headers. For example, in the DWARF-3 Specification, section 7.5.1, the unit_length field is used to specify whether the DWARF format is 32-bit or 64-bit (as well as defining the length of the table). However the
2017 Dec 04
5
[RFC] - Deduplication of debug information in linkers (LLD).
Hi all ! We have an issue with LLD, it is "relocation R_X86_64_32 out of range" (PR31109) which occurs during resolving relocations in debug sections. It looks happens because .debug_info section can be too large sometimes and 32x relocation is not enough to represent the value. One of possible solutions looks to be to deduplicate information to reduce .debug_info size. The rest of
2017 Dec 04
5
[RFC] - Deduplication of debug information in linkers (LLD).
Thanks for providing the experimental data! It clearly shows the value of type sections in DWARF. Regarding why type sections are off by default, aside from the issue of consumers needing to understand them, there is a size penalty to type sections that becomes more evident in smaller projects (meaning, fewer compilation units). The size penalty can be balanced against the amount of
2017 Dec 04
2
[RFC] - Deduplication of debug information in linkers (LLD)
At least one proprietary linker put a lot of effort into deduplicating and rewriting debug information. This took up the majority of the link time despite serious engineering time on performance optimisation. For example, some sections were written from scratch by the linker because that proved faster than parsing the input. Teaching LLD to dedup DWARF should be expected to dramatically slow it
2005 Oct 25
3
error from make: gcc -shared -L/usr/local/lib64 ... relocation R_X86_64_32...
I hope someone can point me, a newcomer to building R as well as 64-bit R, in a useful direction. I have a dual Opteron 275 box running RedHat EL4. I ran configure successfully, and, then, get the following error while running make: make[4]: Entering directory `/tmp/R-2.2.0/src/modules/lapack' g77 -fPIC -g -O2 -ffloat-store -c dlamc.f -o dlamc.lo g77 -fPIC -g -O2 -c dlapack0.f -o
2020 Nov 17
2
[LLD] Support DWARF64, debug_info "sorting"
On 2020-11-14, Alexander Yermolovich wrote: >Thanks for doing a diff and asking in other groups. > >So if I understand your concern with using first reloc as it relates to .debug_str. > >In DWARF4 for .debug_str is referenced from .debug_info, .debug_type using DW_FORM_strp. For DWARF32 it's 32bit unsigned, for DWARF64 it's 64bit unsigned. So in relocation section for some
2013 Sep 05
2
[LLVMdev] CFI Directives
Hi Rafael, I've been staring at the CFI directives and have a question. Some background: I want to generate the compact unwind information using just the CFI directives. I *think* that this should be doable. The issue I'm facing right now is that I need to know how much the stack pointer was adjusted. So when I have something like this: .cfi_startproc Lfunc_begin175:
2013 Sep 06
0
[LLVMdev] CFI Directives
On 5 September 2013 19:27, Bill Wendling <wendling at apple.com> wrote: > Hi Rafael, > > I've been staring at the CFI directives and have a question. Some background: I want to generate the compact unwind information using just the CFI directives. I *think* that this should be doable. The issue I'm facing right now is that I need to know how much the stack pointer was
2011 Mar 10
3
[LLVMdev] Detrimental optimization for reducing relocations.
I was looking into the AsmPrinter and the method EmitSectionOffset which contains this code: -------------------------------------------------------------------------------- // If the section in question will end up with an address of 0 anyway, we can // just emit an absolute reference to save a relocation. if (Section.isBaseAddressKnownZero()) { OutStreamer.EmitSymbolValue(Label, 4,
2019 Sep 11
4
Remove obsolete debug info while garbage collecting
Debuginfo and linker folks, we (AccessSoftek) would like to suggest a proposal for removing obsolete debug info. If you find it useful we will be happy to work on improving it. Thank you for any opinions and suggestions. Alexey.     Currently when the linker does garbage collection a lot of abandoned debug info is left behind (see Appendix A for documentation). Besides inflated debug info size,
2019 Jan 23
3
Why -pie option force LLD to output shared obj file type, not executable?
Hello Rui, I'm enabling the LLD in the Uefi firmware edk2 build. I meet a problem about the -pie option and cannot output the executable type obj file correctly. I need your advice. The Uefi firmware executable binary is the position independent + small code mode in 64bits. So we always add the options "-Wl,-pie -mcmodel=small" in our clang build toolchain. These options work well
2017 Jan 23
2
sanbooting FreeBSD ISO under UEFI
Hi all, I currently use iPXE to load memdisk and, subsequently, a FreeBSD disk image to perform an OS installation to disk. This works great in BIOS, but upcoming requirements make UEFI a prerequisite. Because memdisk is not UEFI-aware, new UEFI-aware media is necessary. The current plan is to integrate the installation scripts (currently in the hard drive image) into a bootable FreeBSD ISO
2016 Jun 27
3
Finding caller-saved registers at a function call site
Hi Sanjoy, I'm having trouble finding caller-saved registers using the RegMask operand you've mentioned. As an example, I've got a C function that looks like this: double recurse(int depth, double val) { if(depth < max_depth) return recurse(depth + 1, val * 1.2) + val; else return outer_func(val); } As a quick refresher, all "xmm" registers are considered
2017 Jul 06
3
[LLD] Adding WebAssembly support to lld
Dan Gohman <sunfish at mozilla.com> writes: >> Sorry, I meant why that didn't work with ELF (or what else didn't). >> > > The standard executable WebAssembly format does not use ELF, for numerous > reasons, most visibly that ELF is designed for sparse decoding -- headers > contain offsets to arbitrary points in the file, while WebAssembly's format > is
2013 Jan 04
1
error make guestfs: relocation libfuse.a Bad value
Trying to setup guestfs on a coworkers system and am at a loss about this error and doing 'make' on version 1.20: /usr/bin/ld: /usr/lib/libfuse.a(fuse.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC /usr/lib/libfuse.a: could not read symbols: Bad value collect2: error: ld returned 1 exit status Installed fuse via: sudo