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] |
This patch introduces lite exit to reduce code size for these applications who don't care finalization. Lite exit weakly references to atexit, register_exitproc and call_exitprocs functions in startup and exit. Lite exit is enabled/disabled by --enable-lite-exit. Currently this feature is only implemented for ARM as changes in libgloss is target specific. Other architecture can successfully build with --enable-lite-exit but references to clean up functions will be all non-weak, unless change in libgloss is applied. ChangeLog: newlib/ Lite exit support. * 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/__call_atexit.c (register_fini): Not unconditionally called in init. * libc/stdlib/atexit.c (__atexit_dummy): Explicit reference to __call_exitprocs. * libc/stdlib/cxa_atexit.c (__register_exitproc): Weak reference. * libc/stdlib/cxa_finalize.c (__cxa_finalize_dummy): Explicit reference to __register_exitproc. (__cxa_finalize): Remove tail white space. * 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-0415-1.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |