mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-21 12:24:18 +08:00
Fix OpenBSD PIE binary linking
This commit is contained in:
parent
20a1ebf854
commit
2acf65f7e6
2
libtcc.c
2
libtcc.c
@ -924,7 +924,7 @@ LIBTCCAPI int tcc_set_output_type(TCCState *s, int output_type)
|
||||
#if TARGETOS_OpenBSD
|
||||
if (output_type != TCC_OUTPUT_DLL)
|
||||
tcc_add_crt(s, "crt0.o");
|
||||
if (output_type & TCC_OUTPUT_DYN)
|
||||
if (output_type == TCC_OUTPUT_DLL)
|
||||
tcc_add_crt(s, "crtbeginS.o");
|
||||
else
|
||||
tcc_add_crt(s, "crtbegin.o");
|
||||
|
||||
9
tccelf.c
9
tccelf.c
@ -1518,14 +1518,17 @@ ST_FUNC void tcc_add_runtime(TCCState *s1)
|
||||
if (s1->output_type != TCC_OUTPUT_MEMORY) {
|
||||
#if defined TCC_TARGET_MACHO
|
||||
/* nothing to do */
|
||||
#elif TARGETOS_OpenBSD || TARGETOS_FreeBSD || TARGETOS_NetBSD
|
||||
#elif TARGETOS_FreeBSD || TARGETOS_NetBSD
|
||||
if (s1->output_type & TCC_OUTPUT_DYN)
|
||||
tcc_add_crt(s1, "crtendS.o");
|
||||
else
|
||||
tcc_add_crt(s1, "crtend.o");
|
||||
# if !TARGETOS_OpenBSD
|
||||
tcc_add_crt(s1, "crtn.o");
|
||||
# endif
|
||||
#elif TARGETOS_OpenBSD
|
||||
if (s1->output_type == TCC_OUTPUT_DLL)
|
||||
tcc_add_crt(s1, "crtendS.o");
|
||||
else
|
||||
tcc_add_crt(s1, "crtend.o");
|
||||
#elif TARGETOS_ANDROID
|
||||
if (s1->output_type == TCC_OUTPUT_DLL)
|
||||
tcc_add_crt(s1, "crtend_so.o");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user