summaryrefslogtreecommitdiffstats
path: root/newlib/libc/misc/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Allow locking routine to be retargetedThomas Preud'homme2017-02-131-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment when targeting bare-metal targets or systems without definition for the locking primitives newlib, uses dummy empty macros. This has the advantage of reduced size and faster implementation but does not allow the application to retarget the locking routines. Retargeting is useful for a single toolchain to support multiple systems since then it's only at link time that you know which system you are targeting. This patch adds a new configure option --enable-newlib-retargetable-locking to use dummy empty functions instead of dummy empty macros. The default is to keep the current behavior to not have any size or speed impact on targets not interested in this feature. To allow for any size of lock, the _LOCK_T type is changed into pointer to struct _lock and the _init function are tasked with allocating the locks. The platform being targeted must provide the static locks. A dummy implementation of the locking routines and static lock is provided for single-threaded applications to link successfully out of the box. To ensure that the behavior is consistent (either no locking whatsoever or working locking), the dummy implementation is strongly defined such that a partial retargeting will cause a doubly defined link error. Indeed, the linker will only pull in the file providing the dummy implementation if it cannot find an implementation for one of the routine or lock.
* Move duplicated documentation rules to Makefile.sharedJeff Johnston2015-11-021-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Also, harmonize libm to use CHEWOUT_FILES like libc, rather than chobj. Update documentation appropriately. * HOWTO: Update. * Makefile.shared: Move documentation rules to here... * libc/argz/Makefile.am: ... from here ... * libc/ctype/Makefile.am: ... and here. * libc/errno/Makefile.am: Ditto. * libc/iconv/Makefile.am: Ditto. * libc/iconv/ccs/Makefile.am : Ditto. * libc/iconv/ces/Makefile.am: Ditto. * libc/iconv/lib/Makefile.am: Ditto. * libc/locale/Makefile.am: Ditto. * libc/misc/Makefile.am: Ditto. * libc/posix/Makefile.am: Ditto. * libc/reent/Makefile.am: Ditto. * libc/search/Makefile.am: Ditto. * libc/stdio/Makefile.am: Ditto. * libc/stdio64/Makefile.am: Ditto. * libc/stdlib/Makefile.am : Ditto. * libc/string/Makefile.am: Ditto. * libc/syscalls/Makefile.am: Ditto. * libc/time/Makefile.am : Ditto. * libc/unix/Makefile.am: Ditto. * libc/xdr/Makefile.am: Ditto. * libm/common/Makefile.am: Ditto. * libm/complex/Makefile.am: Ditto. * libm/math/Makefile.am: Ditto. * libm/mathfp/Makefile.am: Ditto.
* 2010-06-04 Mark Mitchell <mark@codesourcery.com>Jeff Johnston2010-06-041-1/+1
| | | | | | | | | | * libc/stdlib/__call_atexit.c (__libc_fini): Declare. (register_fini): New function. * libc/misc/init.c (_fini): Remove. (__libc_fini_array): Likewise. * libc/misc/fini.c: New file. * libc/misc/Makefile.am (LIB_SOURCES): Add fini.c. * libc/misc/Makefile.in: Regenerate.
* 2006-05-23 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2006-05-231-1/+1
| | | | | | | * libc/misc/dprintf.c: Removed. * libc/misc/__dprintf.c: Renamed from dprintf.c. * libc/misc/Makefile.am: Changed appropriately for rename. * libc/misc/Makefile.in: Regenerated.
* 2006-04-11 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2006-04-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * acinclude.m4: Properly add square brackets for AC_DEFUN macros. Rewrite LIB_AC_PROG_CC to remove macros no longer available. Add LIB_AM_PROG_AS to remove prereq of AC_PROG_CC. Add LIB_AC_PROG_CC_GNU macro. Substitute lpfx (library object prefix). * configure.host: Set lpfx depending on whether libtool is used or not. * configure.in: Individually specify libc and libm to AC_CONFIG_SUBDIRS. Add square bracket quoting as necessary. * Makefile.am: Use $(lpfx) to get object names for math-library functions that should also be in libc. * libc/machine/configure.in: Use case statement to determine AC_CONFIG_SUBDIRS statement. * libc/sys/linux/linuxthreads/machine/configure.in: Ditto. * libc/sys/linux/machine/configure.in: Ditto. * libc/sys/configure.in: Ditto. * libm/machine/configure.in: Ditto. * libc/sys/linux/configure.in: Fix up AC_CONFIG_SUBDIRS. * libm/configure.in: Add AM_CONDITIONAL statement for HAVE_LIBM_MACHINE_DIR. * libc/machine/a29k/Makefile.am: Modified to work with latest automake. Change includes setting AM_CCASFLAGS so building .S files will properly pick up flags used to build C files. * libc/machine/arm/Makefile.am: Ditto. * libc/machine/crx/Makefile.am: Ditto. * libc/machine/d10v/Makefile.am: Ditto. * libc/machine/d30v/Makefile.am: Ditto. * libc/machine/fr30/Makefile.am: Ditto. * libc/machine/frv/Makefile.am: Ditto. * libc/machine/h8300/Makefile.am: Ditto. * libc/machine/h8500/Makefile.am: Ditto. * libc/machine/hppa/Makefile.am: Ditto. * libc/machine/i386/Makefile.am: Ditto. * libc/machine/iq2000/Makefile.am: Ditto. * libc/machine/m32c/Makefile.am: Ditto. * libc/machine/m32r/Makefile.am: Ditto. * libc/machine/m68hc11/Makefile.am: Ditto. * libc/machine/m68k/Makefile.am: Ditto. * libc/machine/m88k/Makefile.am: Ditto. * libc/machine/mips/Makefile.am: Ditto. * libc/machine/mn10200/Makefile.am: Ditto. * libc/machine/mn10300/Makefile.am: Ditto. * libc/machine/mt/Makefile.am: Ditto. * libc/machine/necv70/Makefile.am: Ditto. * libc/machine/powerpc/Makefile.am: Ditto. * libc/machine/sh/Makefile.am: Ditto. * libc/machine/sparc/Makefile.am: Ditto. * libc/machine/tic4x/Makefile.am: Ditto. * libc/machine/tic80/Makefile.am: Ditto. * libc/machine/v850/Makefile.am: Ditto. * libc/machine/w65/Makefile.am: Ditto. * libc/machine/xscale/Makefile.am: Ditto. * libc/machine/xstormy16/Makefile.am: Ditto. * libc/machine/z8k/Makefile.am: Ditto. * libc/sys/a29khif/Makefile.am: Ditto. * libc/sys/arc/Makefile.am: Ditto. * libc/sys/arm/Makefile.am: Ditto. * libc/sys/d10v/Makefile.am: Ditto. * libc/sys/decstation/Makefile.am: Ditto. * libc/sys/h8300hms/Makefile.am: Ditto. * libc/sys/h8500hms/Makefile.am: Ditto. * libc/sys/linux/linuxthreads/machine/i386/Makefile.am: Ditto. * libc/sys/linux/machine/i386/Makefile.am: Ditto. * libc/sys/m88kbug/Makefile.am: Ditto. * libc/sys/mmixware/Makefile.am: Ditto. * libc/sys/netware/Makefile.am: Ditto. * libc/sys/rdos/Makefile.am: Ditto. * libc/sys/rtems/Makefile.am: Ditto. * libc/sys/sh/Makefile.am: Ditto. * libc/sys/sparc64/Makefile.am: Ditto. * libc/sys/sysmec/Makefile.am: Ditto. * libc/sys/sysnec810/Makefile.am: Ditto. * libc/sys/sysnecv850/Makefile.am: Ditto. * libc/sys/sysvi386/Makefile.am: Ditto. * libc/sys/sysvnecv70/Makefile.am: Ditto. * libc/sys/tic80/Makefile.am: Ditto. * libc/sys/w65/Makefile.am: Ditto. * libc/sys/z8ksim/Makefile.am: Ditto. * libm/machine/i386/Makefile.am: Ditto. * libc/sys/arm/Makefile.am: Ditto plus add EXTRA sources including trap.S so that automake will generate a .S.o suffix rule. * libc/argz/Makefile.am: Modified to work with latest automake. Change includes adding lib_a_CFLAGS so automake doesn't complain about libtool and non-libtool libraries sharing objects. * libc/ctype/Makefile.am: Ditto. * libc/errno/Makefile.am: Ditto. * libc/iconv/ccs/Makefile.am: Ditto. * libc/iconv/ces/Makefile.am: Ditto. * libc/iconv/lib/Makefile.am: Ditto. * libc/locale/Makefile.am: Ditto. * libc/misc/Makefile.am: Ditto. * libc/posix/Makefile.am: Ditto. * libc/reent/Makefile.am: Ditto. * libc/search/Makefile.am: Ditto. * libc/signal/Makefile.am: Ditto. * libc/stdio/Makefile.am: Ditto. * libc/stdio64/Makefile.am: Ditto. * libc/stdlib/Makefile.am: Ditto. * libc/string/Makefile.am: Ditto. * libc/sys/linux/Makefile.am: Ditto. * libc/sys/linux/argp/Makefile.am: Ditto. * libc/sys/linux/cmath/Makefile.am: Ditto. * libc/sys/linux/dl/Makefile.am: Ditto. * libc/sys/linux/iconv/Makefile.am: Ditto. * libc/sys/linux/intl/Makefile.am: Ditto. * libc/sys/linux/linuxthreads/Makefile.am: Ditto. * libc/sys/linux/net/Makefile.am: Ditto. * libc/sys/linux/stdlib/Makefile.am: Ditto. * libc/syscalls/Makefile.am: Ditto. * libc/time/Makefile.am: Ditto. * libc/unix/Makefile.am: Ditto. * libm/Makefile.am: Ditto. * libm/common/Makefile.am: Ditto. * libm/math/Makefile.am: Ditto. * libm/mathfp/Makefile.am: Ditto. * Regenerate all aclocal.m4, Makefile.in, and configure files.
* 2005-01-07 Paul Brook <paul@codesourcery.com>Jeff Johnston2005-01-071-1/+1
| | | | | | | | | | | * configure.in: Add test for .init_array. * configure: Regenerate. * newlib.hin: Add HAVE_INITFINI_ARRAY. * libc/misc/Makefile.am: Add init.c * libc/misc/Makefile.in: Regenerate. * libc/misc/init.c: New file. * libc/sys/arm/crt0.S: Call __libc_{init,fini}_array instead of _init/_fini if they exist.
* * Makefile.shared: New file.Thomas Fitzsimmons2001-12-131-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/sys/linux/shared.ld: New file. * libm/machine/*: New files. * libm/machine/i386/*: New files. * Makefile.am: Add libtool support. Change math and mathfp references to variables. * configure.host: Add variables for libtool support. Add libm_machine_dir variable. * configure.in: Add objectlist variables, for libtool support. Add CC_FOR_BUILD tests. * libc/Makefile.am: Add libtool support. Change crt0.o reference to be a variable reference. * libc/configure.in: Add libtool support. Change sublib names to be lib${subdir}.la when using libtool. * libc/ctype/Makefile.am: Add libtool support. * libc/errno/Makefile.am: Likewise. * libc/locale/Makefile.am: Likewise. * libc/machine/Makefile.am: Likewise. * libc/machine/configure.in: Likewise. * libc/machine/i386/Makefile.am: Likewise. * libc/machine/i386/configure.in: Likewise. * libc/misc/Makefile.am: Likewise. * libc/posix/Makefile.am: Likewise. * libc/reent/Makefile.am: Likewise. * libc/signal/Makefile.am: Likewise. * libc/stdio/Makefile.am: Likewise. * libc/stdlib/Makefile.am: Likewise. * libc/string/Makefile.am: Likewise. * libc/sys/Makefile.am: Likewise. * libc/sys/configure.in: Likewise. * libc/sys/linux/Makefile.am: Add libtool support. Change awk reference to a variable reference. Change signal.h reference to a variable reference. * libc/sys/linux/configure.in: Add libtool support. * libc/syscalls/Makefile.am: Likewise. * libc/time/Makefile.am: Likewise. * libc/unix/Makefile.am: Likewise. * libm/Makefile.am: Add libtool support. Change math and mathfp references to variables. * libm/configure.in: Add libtool support. Add LIBM_MACHINE_LIB variable. * libm/common/Makefile.am: Add libtool support. * libm/math/Makefile.am: Likewise. * libm/mathfp/Makefile.am: Likewise. Regenerate all Makefile.in, aclocal.m4, and configure.
* import newlib-2000-02-17 snapshotChristopher Faylor2000-02-171-0/+26