summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/crt1.S
AgeCommit message (Collapse)Author
2022-07-26Added support for creation of Static Position-Independent Executables (PIE) ↵linted
on i386, x86_64, and arm. This patch adds the generation of rcrt1.o which is used by gcc when compiling with the --static-pie flag. rcrt1.o differs from crt1.o and Scrt1.o in that it the executable has a dynamic section but no relocations have been performed prior to _start being called. crt1.o assumes there to be no dynamic relocations, and Scrt1.o has all relocations performed prior to execution by lsdo. The new reloc_static_pie function handles parsing the dynamic section, and performing the relocations in a architecture agnostic method. It also sets _dl_load_base which is used when initalizing TLS to ensure loading from the proper location. This allows for easier porting of static-pie support to additional architectures as only modifications to crt1.S to find the load address are required. Signed-off-by: linted <linted@users.noreply.github.com>
2012-11-18Replace FSF snail mail address with URLsMike Frysinger
This matches a similar change made to glibc. No functional changes here. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2005-07-06syntax touchups as suggested by Peter S. MazingerMike Frysinger
2005-06-29need to include features.h to get uclibc definesMike Frysinger
2005-06-29declare init/fini as weak if __UCLIBC_CTOR_DTOR__ is turned offMike Frysinger
2005-06-25Change L_Scrt1 to __PIC__ and delete old crt0.SJoakim Tjernlund
2005-05-28Add Peter Mazinger fini/crt compat patch. Select DL_FINI_CRT_COMPAT toJoakim Tjernlund
be able to run apps built with 0.9.27. This also renames __uClibc_start_main to __uClibc_main. This compat option should be removed some time after 0.9.28 is released. Let me know if you don't like this change.
2005-05-28Add back .size for _start Joakim Tjernlund
2005-05-26Clean it up a little.Joakim Tjernlund
2005-05-26Adapt x86 to new __uClibc_start_main.Joakim Tjernlund
2005-05-25Adapt startup code in x86 and PPC to almost match glibc. _init vs. ↵Joakim Tjernlund
__libc_csu_init and _fini vs. __libc_csu_fini remains to do.
2005-05-21Pass main function ptr from crt1 to __uClibc_start_main.Joakim Tjernlund
Kill old crt0/__uClibc_main. This breaks ABI. All apps and toolchain needs to be recompiled. All archs except x86 are now broken and need to be fixed as x86. PPC will be fixed shortly by me, the rest is left to the arch maintainers.