search for: plt32

Displaying 3 results from an estimated 3 matches for "plt32".

Did you mean: flt32
2020 Nov 02
2
[llvm-mc] FreeBSD kernel module performance impact when upgrading clang
...skeleton.o skeleton.o: file format elf64-x86-64 RELOCATION RECORDS FOR [.text]: OFFSET TYPE VALUE 0000000000000017 R_X86_64_32S .rodata.str1.1+0x000000000000002b 0000000000000020 R_X86_64_32S .rodata.str1.1+0x0000000000000015 0000000000000029 R_X86_64_PLT32 uprintf-0x0000000000000004 [...] The relocation for the external uprintf call is changed from R_X86_64_PC32 to R_X86_64_PLT32. Normally, amd64/x86 kernel modules are relocatable object files (via ld -r). Because of that, D43383 typically has no impact as the FreeBSD loader sees the relocation...
2020 Nov 05
0
[EXTERNAL] [llvm-mc] FreeBSD kernel module performance impact when upgrading clang
...;> 1298: e8 04 00 00 00 callq 12a1 <foo+0x4> >> >> 000000000000129d <foo>: >> 129d: c3 retq >> >> >> The call to foo does not go through the PLT. That's the behavior seen using clang5. But clang10 generates the PLT32 relocation instead, like this: >> >> $ cat b.s >> .globl _start, foo >> _start: >> .byte 0xe8 >> .reloc ., R_X86_64_PLT32, foo - 4 >> .long foo - . >> foo: >> ret >> >> $ as b.s -o b.o >> $ ld.lld-10 -shared -o b.so b.o...
2015 Jan 26
2
[LLVMdev] [llvm] r188726 - Adding PIC support for ELF on x86_64 platforms
...Value.Addend = Addend; @@ -1150,8 +1181,67 @@ void RuntimeDyldELF::processRelocationRe ELF::R_390_PC32DBL, Addend); else resolveRelocation(Section, Offset, StubAddress, RelType, Addend); + } else if (Arch == Triple::x86_64 && RelType == ELF::R_X86_64_PLT32) { + // The way the PLT relocations normally work is that the linker allocates the + // PLT and this relocation makes a PC-relative call into the PLT. The PLT + // entry will then jump to an address provided by the GOT. On first call, the + // GOT address will point back into PLT code...