summaryrefslogtreecommitdiff
path: root/libc/stdlib/atexit.c
AgeCommit message (Collapse)Author
2005-11-26100 JUMP relocs less (remaining 431) by hiding internally used onesPeter S. Mazinger
2005-09-26Add __cxa_atexit and __cxa_finalize, thanks to Stephen Warren. This patch ↵Peter S. Mazinger
breaks compatibility with existing binaries, unless the new COMPAT_ATEXIT option is enabled.
2005-09-08punt _DL_FINI_CRT_COMPAT option now that 0.9.28 has been releasedMike Frysinger
2005-09-08Fix by Martin Schlemmer:Mike Frysinger
If _DL_FINI_CRT_COMPAT is defined, _dl_fini is setup to run at exit via atexit(), but this makes it run _before_ the fini (__app_fini()) of the app, causing stuff like sandbox that frees structs, etc via its fini to segfault. http://bugs.gentoo.org/98187
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-21Enable new FINI processing. ldso now passes a FINI functionJoakim Tjernlund
ptr to crt. Only PowerPC and x86 support this currently.
2005-03-20Prepare for moving ldso FINI handling into libc.Joakim Tjernlund
#define _DL_DO_FINI_IN_LIBC to enable(the arch specific part needs to be in place first).
2003-12-27Handle the app_fini stuff in exit without requiring atexit().Manuel Novoa III
This avoids pulling in all the malloc/free code for a simple true/false app.
2003-12-27Fix a long-standing bug with pthreads. A couple of linuxthreads filesManuel Novoa III
were including libc-lock.h which had a bunch of weak pragmas. Also, uClibc supplied a number of no-op weak thread functions even though many weren't needed. This combined result was that sometimes the functional versions of thread functions in pthread would not override the weaks in libc. While fixing this, I also prepended double-underscore to all necessary weak thread funcs in uClibc, and removed all unused weaks. I did a test build, but haven't tested this since these changes are a backport from my working tree. I did test the changes there and no longer need to explicitly add -lpthread in the perl build for perl to pass its thread self tests.
2003-11-02If realloc failed, we'd lose the pointer to the exit function table.Manuel Novoa III
2003-01-24Doh! Fix potential stack corruption caused by dynamic atexitEric Andersen
allocating size incorrectly.... -Erik
2002-11-19Implement dynamic atexit handling. Adds a few bytes and a dependancyEric Andersen
on malloc (via realloc). -Erik
2002-09-26A bug fix from Alexey V. Neyman:Eric Andersen
In case of vfork(), the parent was left with __exit_count of -1 and thus tried to find non-NULL value of __exit_function_table[-1].atexit, __exit_function_table[-2].atexit and call this function; of course, it leads to coredump.
2002-08-12Doh! missed a spot.Eric Andersen
-Erik
2002-08-12Geez I'm an idiot some times. I shouldn't code when I'm exhausted.Eric Andersen
I _totally_ screwed up the locking on exit and atexit such that it didn't do any good at all. -Erik
2002-08-09Add missing thread-safe locking.Eric Andersen
-Erik
2002-03-12Swap in the new stdio code.Manuel Novoa III
2002-02-19Doh! Miles Bader noticed a couple of spots where I forgotEric Andersen
to mark __stdio_flush_buffers with weak_function. Oops!
2002-02-18Rename __stdio_close_all to __stdio_flush_buffers. Eliminate anEric Andersen
unnecessary variable
2002-02-18Doh!Eric Andersen
2002-02-18Miles Bader writes:Eric Andersen
Programs that don't use stdio crash in the `exit' function, because they call through the pointer__uClibc_cleanup, which has a value of 0. It has a value of 0 because __uClibc_main.c initializes it to the address of `__stdio_close_all', which is a weak symbol (and so is 0 if stdio is not used). This patch from Miles fixes it, though we need to audit __stdio_close_all usage to be sure...
2002-02-13A number of naming updates in preparation for adding inEric Andersen
proper threading. Most of this is from Stefan Soucek, with additions and changes as needed from me.
2001-10-11Patch from Miles Bader <miles@lsi.nec.co.jp> to support the v850.Eric Andersen
He sent this patch to me a month ago, but I forgot to apply it...
2001-09-27Update to accomodate the header file changesEric Andersen
2001-04-06Fix include/errno.h to not use kernel header, and instead use bits/errno.h.Eric Andersen
This required we use _LIBC instead of __LIBC__ to be consistent with glibc. This had some sideffects in sys/syscalls.h. While fixing things, I made everything use __set_errno() for (eventual) thread support. -Erik
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-25Clean up atexit.c; make sure sysconf and atexit agree; link in ref'd libgcc.aManuel Novoa III
objects with shared uClibc; allow disabling long long support.
2001-01-17Note about need to match _SC_ATEXIT_MAX. Minor macro name change.Manuel Novoa III
2001-01-11A large update from Manuel Novoa III <mnovoa3@bellsouth.net>.Eric Andersen
2000-10-09Bug ugly formatting updateEric Andersen
2000-07-05Many bugfixes, header cleanups, etc. Added abort and glob.Eric Andersen
It is getting closer... -Erik
2000-05-14Initial revisionErik Andersen