This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> From: Jeff Johnston <jjohnstn@redhat.com> > Date: Fri, Jun 14, 2013 at 4:55 AM > Subject: Re: [PATCH] New configuration option for lite exit > To: newlib@sourceware.org > Please add such documentation to your patch. I might suggest both adding it > to the new README section you have started regarding newlib configuration > options and to at least one of the source files and you can reference that file > from the others (e.g. put it in atexit and have the other files that are changed > tell the developer to look in atexit.c for more details).. Updated with following changes - Add description of new option in README - Add detail description in __atexit.c, and add comments in other .c to look in it - Remove dependence between __cxa_finalize and __register_exitproc, replace with dependence of __call_exitprocs - Remove changes in __call_atexit.c as it can be covered by disable-newlib-register-fini > > > >> AFAICT, if a call is made to __cxa_atexit, nothing will occur unless > >> a call is also made to __cxa_finalize or atexit() or on_exit(). The > >> exit list won't be run on exit if just on_exit() is called because > >> __call_exitprocs() won't be brought in. > > > > This doesn't appear to be true, as __call_exitprocs is always called in exit. > > > > Maybe I'm missing something. Following the logic, __call_exitprocs is a weak > reference in exit. If the user calls on_exit without an > atexit() call then nothing solidifies the __call_exitprocs linkage. > > If I am correct, please fix and update documentation. on_exit refers __register_exitproc as non-weak, and now the latter brings in __call_exitprocs. So it is fixed in this version. OK to trunk? Thanks, Joey ChangeLog: newlib/ Lite exit support. * README (enable-lite-exit): Doc for new option. * acconfig.h (_LITE_EXIT): New macro. * configure.in (enable-lite-exit): New option. (_LITE_EXIT): Define new macro. * configure: Regenerated. * newlib.hin (_LITE_EXIT): New macro. * libc/stdlib/__atexit.c (__atexit_dummy): Explicit reference to __call_exitprocs. * libc/stdlib/cxa_atexit.c (__register_exitproc): Weak reference. * libc/stdlib/exit.c (exit): Remove TWS and weak reference to __call_exitprocs. libgloss/ * arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini when lite exit is enabled.
Attachment:
lite-exit-trunk-0628.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |