summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/crt0.S
AgeCommit message (Collapse)Author
2005-03-20Pass _dl_fini function ptr to __uClibc_start_main().Joakim Tjernlund
To actually use it, one must define _DL_DO_FINI_IN_LIBC globally. That will also break ABI for apps linked with previous version of crtX.S. They must be relinked with this version to work again.
2004-08-21Kill off all support for 'gcc -pg' / 'gprof' style profiling. There is both aEric Andersen
size and performance penalty to profiling applications this way, as well as Heisenberg effects, where the act of measuring changes what is measured. There are better tools for doing profiling, such as OProfile, that do not require gcc to instrument the application code. -Erik
2004-05-14__data_start needs to be added to all crt0.S files that don't currentlyEric Andersen
have it. It is used by the boehm gc, amoung other things.
2004-01-17Add __data_start needed by boehm garbage collector, in turn needed by libgcj.Manuel Novoa III
2004-01-02Peter S. Mazinger writes:Eric Andersen
Hello Erik! I have made some cosmetical changes to the files, removed the added SCRT=-fPIC option from building the crt0.S file (but it is a requirement to build them with -fPIC), and changed some comments. I have left the ldso.c patch with PIE_SUPPORT ifdefs, but consider applying it w/o them (see some earlier comment from PaX Team on this issue, as it is considered a bug). To have it work correctly, you'll also need removing COMPLETELY_PIC. One thing is missing: PIE_SUPPORT should be usable only for i386 (for now). Also added the support for propolice protection (that works for me and catches memcpy/strcpy attacks (but needs a special gcc version). Thanks, Peter
2003-03-04Fix compile when profiling is disabledEric Andersen
2003-03-03Initial effort at adding profiling support.Eric Andersen
2003-01-23Update architecture specific support to consistantlyEric Andersen
generate a crt0 and crt1 file. Most arches still need to be updated to call __uClibc_start_main() rather than __uClibc_main().
2003-01-23simpler method for getting a 'main' reference. Make _init and _finiEric Andersen
be weak so people won't need to fix their compilers
2002-12-12Based on discussions with Stefan Allius, change it so that we alwaysEric Andersen
build a crt0.o and a crt1.o. crt1.o will support ctors and dtors if such support is enabled. One more gratuitous toolchain support issue is thereby removed... -Erik
2002-11-29I forgot to include features.hEric Andersen
2002-11-27Make support for global constructors and global destructors beEric Andersen
configurable, so people who do not need or want ctor/dtor support can disable it and make their binaries a little bit smaller. -Erik
2002-10-01This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen
how uClibc handles _init and _fini, allowing shared lib constructors and destructors to initialize things in the correct sequence. Stefan ported the SH architecture. I then ported x86, arm, and mips. x86 and arm are working fine, but I don't think I quite got things correct for mips.
2002-08-06Just in case, crash if somehow `exit' returns anywaysEric Andersen
-Erik
2002-04-14Manuel and I were looking into a problem with applications failing to linkEric Andersen
(undefined reference to `main') when the .o file containing main was contained in an static library(a '.a' ar archive). It turns out that due to its single pass nature, GNU ld was failing to pull it into the build. This sticks a dummy reference to main() into crt0.o, so that when an application is linked with the main() function in a static library, we can be sure that main() actually gets linked in. -Erik
2002-03-16Remove the C++ support stubs, since these now live elsewhere andEric Andersen
these stubs were preventing the real stuff from working properly. -Erik
2002-01-02Turn off the useless personality crapEric Andersen
2001-12-19Use the asm version by default on x86. Tag _start as a function.Eric Andersen
2001-08-28This will hopefully make global constructors and destructors workEric Andersen
2001-02-19Create __uClibc_main to handle what can be done in C instead of each arch'sManuel Novoa III
respective crt0.S. crt0.S should now only be responsible for setting things up to call __uClibc_main(argc, argv, envp), which will do any other necessary setup (setting global __environ, stdio init, etc), call main, and exit. This should ease both maintainance and porting.
2001-02-09Revert stdio to initializing itself. Not quite a pretty but that ensures thatEric Andersen
we don't blow up by using too much stack space, and simplifies the job of supporting new architectures, since they don't have to mess with calling foo init functions in crt0 and cleaning up the resulting damage. -Erik
2001-01-16"I will always compile before I commit."Eric Andersen
"I will always compile before I commit." "I will always compile before I commit." -Erik
2001-01-16Update the comments a wee bit.Eric Andersen
2001-01-16Added common handling of errno.Eric Andersen
2001-01-15Use the name crt0.o, and cp it to $(TOPDIR)/libcrt0.oEric Andersen