mirror of
git://git.musl-libc.org/musl
synced 2024-12-14 02:35:17 +00:00
PIE support for i386
This commit is contained in:
parent
c9dea48f84
commit
83023d1b50
2
Makefile
2
Makefile
@ -39,7 +39,7 @@ ALL_INCLUDES = $(sort $(wildcard include/*.h include/*/*.h) $(GENH))
|
||||
|
||||
EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl
|
||||
EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a)
|
||||
CRT_LIBS = lib/crt1.o lib/crti.o lib/crtn.o
|
||||
CRT_LIBS = lib/crt1.o lib/Scrt1.o lib/crti.o lib/crtn.o
|
||||
STATIC_LIBS = lib/libc.a
|
||||
SHARED_LIBS = lib/libc.so
|
||||
TOOL_LIBS = lib/musl-gcc.specs
|
||||
|
0
crt/Scrt1.c
Normal file
0
crt/Scrt1.c
Normal file
24
crt/i386/Scrt1.s
Normal file
24
crt/i386/Scrt1.s
Normal file
@ -0,0 +1,24 @@
|
||||
.weak _init
|
||||
.weak _fini
|
||||
.text
|
||||
.global _start
|
||||
_start:
|
||||
xorl %ebp,%ebp
|
||||
popl %ecx
|
||||
movl %esp,%eax
|
||||
andl $-16,%esp
|
||||
pushl %esp
|
||||
pushl %esp
|
||||
pushl %edx
|
||||
call 1f
|
||||
1: addl $_GLOBAL_OFFSET_TABLE_,(%esp)
|
||||
pop %ebx
|
||||
call 1f
|
||||
1: addl $[_fini-.],(%esp)
|
||||
call 1f
|
||||
1: addl $[_init-.],(%esp)
|
||||
pushl %eax
|
||||
pushl %ecx
|
||||
pushl main@GOT(%ebx)
|
||||
call __libc_start_main@plt
|
||||
1: jmp 1b
|
Loading…
Reference in New Issue
Block a user