glibc/sysdeps/i386
Adhemerval Zanella Netto 59aa41585f i386: Avoid rely on linker optimization to avoid relocation
lld does not implement all the linker optimization to avoid the GOT
relocation as done by binutils (bfd/elf32-i386.c:elf_i386_convert_load_reloc).
The current 'movl main@GOT(%ebx), %eax' will then create a GOT
relocation when building with lld, which make static-pie status to
not being able to start the provided main function.

The change uses a __wrap_main local symbol, which in turn calls main
(similar as used by aarch64 and s390x).

Checked on i686-linux-gnu with binutils and lld.
Reviewed-by: Fangrui Song <maskray@google.com>
2022-11-21 11:25:35 -03:00
..
fpu x86: Remove .tfloat usage 2022-10-03 14:03:21 -03:00
htl Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
i586 i686: Remove bzero optimizations 2022-02-23 14:18:18 -03:00
i686 elf: Remove -fno-tree-loop-distribute-patterns usage on dl-support 2022-10-10 10:32:28 -03:00
i786
nptl elf: Introduce <dl-call_tls_init_tp.h> and call_tls_init_tp (bug 29249) 2022-11-03 17:28:03 +01:00
sys Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
____longjmp_chk.S
__longjmp.S Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
abort-instr.h
add_n.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
addmul_1.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
asm-syntax.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
backtrace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
bsd-_setjmp.S Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
bsd-setjmp.S Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
configure grep: egrep -> grep -E, fgrep -> grep -F 2022-06-05 12:09:02 -07:00
configure.ac x86/configure.ac: Define PI_STATIC_AND_HIDDEN/SUPPORT_STATIC_PIE 2022-02-14 07:34:54 -08:00
crti.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
crtn.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-fixup-attribute.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-machine-rel.h i386: Remove RELA support 2022-08-04 10:03:46 -03:00
dl-machine.h i386: Remove RELA support 2022-08-04 10:03:46 -03:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-tls.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-tlsdesc.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ffs.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
gccframe.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
i386-mcount.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Implies Add float128 support for x86_64, x86. 2017-06-26 22:02:24 +00:00
isa.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
jmpbuf-unwind.h Use PTR_MANGLE and PTR_DEMANGLE unconditionally in C sources 2022-10-18 17:04:10 +02:00
link-defines.sym elf: Remove Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT) 2021-10-11 11:14:02 -07:00
lshift.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Makefile mcheck: Align struct hdr to MALLOC_ALIGNMENT bytes [BZ #28068] 2021-07-12 18:13:32 -07:00
malloc-alignment.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memchr.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memcmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memcopy.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memcpy_chk.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memcpy.S i386: Remove bcopy optimizations 2022-02-23 14:06:49 -03:00
memmove_chk.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memmove.S
mempcpy_chk.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mempcpy.S
memset_chk.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memset.S i686: Remove bzero optimizations 2022-02-23 14:18:18 -03:00
mp_clz_tab.c
mul_1.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
preconfigure
pthread_spin_trylock.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
rawmemchr.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
rshift.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setfpucw.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setjmp.S Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
stackguard-macros.h
stackinfo.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
start.S i386: Avoid rely on linker optimization to avoid relocation 2022-11-21 11:25:35 -03:00
stpcpy.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
stpncpy.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strcat.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strchr.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strchrnul.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strcspn.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
string-inlines.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strlen.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strlen.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strpbrk.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strrchr.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strspn.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sub_n.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
submul_1.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
symbol-hacks.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tlsdesc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tlsdesc.sym
tst-audit3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-audit3.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-audit.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-auditmod3a.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-auditmod3b.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-ld-sse-use.sh grep: egrep -> grep -E, fgrep -> grep -F 2022-06-05 12:09:02 -07:00
unwind-arch.h Use PTR_MANGLE and PTR_DEMANGLE unconditionally in C sources 2022-10-18 17:04:10 +02:00
Versions Move __fentry__ version definition to sysdeps/{i386,x86_64} 2018-08-10 09:07:44 +02:00