mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08:00
94 lines
2.2 KiB
Makefile
94 lines
2.2 KiB
Makefile
ifeq ($(subdir),csu)
|
|
# In order for unwinding to fail when it falls out of main, we need a
|
|
# cantunwind marker. There's one in start.S. To make sure we reach it, add
|
|
# unwind tables for __libc_start_main.
|
|
CFLAGS-libc-start.c += -fexceptions
|
|
|
|
sysdep_routines += aeabi_read_tp libc-aeabi_read_tp
|
|
static-only-routines += aeabi_read_tp
|
|
shared-only-routines += libc-aeabi_read_tp
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
sysdep-rtld-routines += aeabi_read_tp
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_routines += ioperm
|
|
sysdep_headers += sys/elf.h sys/io.h
|
|
endif
|
|
|
|
ifeq ($(subdir),signal)
|
|
sysdep_routines += sigrestorer
|
|
endif
|
|
|
|
ifeq ($(subdir),resource)
|
|
sysdep_routines += oldgetrlimit64
|
|
endif
|
|
|
|
ifeq ($(subdir),stdlib)
|
|
gen-as-const-headers += ucontext_i.sym
|
|
endif
|
|
|
|
# Add a syscall function to each library that needs one.
|
|
|
|
ifeq ($(subdir),rt)
|
|
librt-sysdep_routines += libc-do-syscall
|
|
librt-shared-only-routines += libc-do-syscall
|
|
endif
|
|
|
|
ifeq ($(subdir),nptl)
|
|
libpthread-sysdep_routines += libc-do-syscall
|
|
libpthread-shared-only-routines += libc-do-syscall
|
|
endif
|
|
|
|
ifeq ($(subdir),resolv)
|
|
libanl-sysdep_routines += libc-do-syscall
|
|
libanl-shared-only-routines += libc-do-syscall
|
|
endif
|
|
|
|
ifeq ($(subdir),csu)
|
|
sysdep_routines += libc-do-syscall
|
|
endif
|
|
|
|
ifeq ($(subdir),nscd)
|
|
nscd-modules += libc-do-syscall
|
|
endif
|
|
|
|
ifeq ($(subdir),nss)
|
|
libnss_db-sysdep_routines += libc-do-syscall
|
|
libnss_db-shared-only-routines += libc-do-syscall
|
|
endif
|
|
|
|
ifeq ($(subdir),posix)
|
|
LDFLAGS-tst-rfc3484 += $(common-objpfx)csu/libc-do-syscall.o
|
|
LDFLAGS-tst-rfc3484-2 += $(common-objpfx)csu/libc-do-syscall.o
|
|
LDFLAGS-tst-rfc3484-3 += $(common-objpfx)csu/libc-do-syscall.o
|
|
endif
|
|
|
|
define default-abi-prog
|
|
echo '#ifdef __ARM_PCS_VFP';
|
|
echo 'hard';
|
|
echo '#else';
|
|
echo 'soft';
|
|
echo '#endif'
|
|
endef
|
|
default-abi := $(strip $(shell \
|
|
($(default-abi-prog)) | $(CC) $(CFLAGS) $(CPPFLAGS) -E -P -))
|
|
ifeq ($(default-abi),hard)
|
|
# OK.
|
|
else
|
|
ifneq ($(default-abi),soft)
|
|
Unknown ABI, must be "hard" or "soft".
|
|
endif
|
|
endif
|
|
|
|
abi-includes :=
|
|
abi-variants := soft hard
|
|
abi-soft-options := -U__ARM_PCS_VFP
|
|
abi-soft-condition := !defined __ARM_PCS_VFP
|
|
abi-soft-ld-soname := ld-linux.so.3
|
|
abi-hard-options := -D__ARM_PCS_VFP
|
|
abi-hard-condition := defined __ARM_PCS_VFP
|
|
abi-hard-ld-soname := ld-linux-armhf.so.3
|