2005-08-31 Paul Brook <paul@codesourcery.com>
* configure.host: Set have_crt0 to no for Arm targts when not providing syscalls. Set sys_dir=arm unconditionally. Default have_crt0 based on sys_dir. * configure.in: Use have_crt0. * libc/configure.in: Ditto. * libc/sys/configure.in: Ditto. * configure: Regenerate. * libc/configure: Regenerate. * libc/sys/configure: Regenerate. * libc/sys/arm/Makefile.am (lib_a_SOURCES): Add aeabi_atexit.c. Only build other files when providing syscalls. * libc/sys/arm/Makefile.in: Regenerate. * libc/sys/arm/aeabi_atexit.c: New file.
This commit is contained in:
@ -7,16 +7,18 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
if MAY_SUPPLY_SYSCALLS
|
||||
extra_objs = syscalls.o
|
||||
extra_objs = libcfunc.o trap.o syscalls.o
|
||||
else
|
||||
extra_objs =
|
||||
endif
|
||||
|
||||
lib_a_SOURCES = libcfunc.c trap.S
|
||||
lib_a_SOURCES = aeabi_atexit.c
|
||||
lib_a_LIBADD = $(extra_objs)
|
||||
lib_a_DEPENDENCIES = $(extra_objs)
|
||||
|
||||
if MAY_SUPPLY_SYSCALLS
|
||||
all: crt0.o
|
||||
endif
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||
|
@ -88,10 +88,10 @@ AUTOMAKE_OPTIONS = cygnus
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
@MAY_SUPPLY_SYSCALLS_TRUE@extra_objs = syscalls.o
|
||||
@MAY_SUPPLY_SYSCALLS_TRUE@extra_objs = libcfunc.o trap.o syscalls.o
|
||||
@MAY_SUPPLY_SYSCALLS_FALSE@extra_objs =
|
||||
|
||||
lib_a_SOURCES = libcfunc.c trap.S
|
||||
lib_a_SOURCES = aeabi_atexit.c
|
||||
lib_a_LIBADD = $(extra_objs)
|
||||
lib_a_DEPENDENCIES = $(extra_objs)
|
||||
|
||||
@ -106,7 +106,7 @@ LIBRARIES = $(noinst_LIBRARIES)
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LIBS = @LIBS@
|
||||
lib_a_OBJECTS = libcfunc.o trap.o
|
||||
lib_a_OBJECTS = aeabi_atexit.o
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
@ -325,7 +325,7 @@ mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
all: crt0.o
|
||||
@MAY_SUPPLY_SYSCALLS_TRUE@all: crt0.o
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
10
newlib/libc/sys/arm/aeabi_atexit.c
Normal file
10
newlib/libc/sys/arm/aeabi_atexit.c
Normal file
@ -0,0 +1,10 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
/* Register a function to be called by exit or when a shared library
|
||||
is unloaded. This routine is like __cxa_atexit, but uses the
|
||||
calling sequence required by the ARM EABI. */
|
||||
int
|
||||
__aeabi_atexit (void *arg, void (*func) (void *), void *d)
|
||||
{
|
||||
return __cxa_atexit (func, arg, d);
|
||||
}
|
2
newlib/libc/sys/configure
vendored
2
newlib/libc/sys/configure
vendored
@ -2993,7 +2993,7 @@ if test -n "${sys_dir}"; then
|
||||
fi
|
||||
|
||||
CRT0=
|
||||
if test -n "${sys_dir}"; then
|
||||
if test "x${have_crt0}" = "xyes"; then
|
||||
CRT0=crt0.o
|
||||
fi
|
||||
|
||||
|
@ -22,7 +22,7 @@ if test -n "${sys_dir}"; then
|
||||
fi
|
||||
|
||||
CRT0=
|
||||
if test -n "${sys_dir}"; then
|
||||
if test "x${have_crt0}" = "xyes"; then
|
||||
CRT0=crt0.o
|
||||
fi
|
||||
AC_SUBST(CRT0)
|
||||
|
Reference in New Issue
Block a user