mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-06 12:00:24 +08:00
eb4157390c
The ntp_gettime implementation of NTP exports the tai field the kernel now produces. This requires an ABI change since the ntptimeval structure changed. Upstream kept the same name, there is nothing to do. This patch changes the ntptimeval structure but keeps the old ntp_gettime definition. A new ntp_gettimex function which is transparently invoked through the old name is introduced. This has the advantage that even object files can remain compatible. This wouldn't be the case if symbol versioning would be used to overload the name ntp_gettime.
169 lines
4.9 KiB
Makefile
169 lines
4.9 KiB
Makefile
ifeq ($(subdir),csu)
|
|
sysdep_routines += errno-loc
|
|
endif
|
|
|
|
ifeq ($(subdir),assert)
|
|
CFLAGS-assert.c += -DFATAL_PREPARE_INCLUDE='<fatal-prepare.h>'
|
|
CFLAGS-assert-perr.c += -DFATAL_PREPARE_INCLUDE='<fatal-prepare.h>'
|
|
endif
|
|
|
|
ifeq ($(subdir),malloc)
|
|
CFLAGS-malloc.c += -DMORECORE_CLEARS=2
|
|
endif
|
|
|
|
ifeq ($(subdir),socket)
|
|
sysdep_routines += internal_accept4
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_routines += sysctl clone llseek umount umount2 readahead \
|
|
setfsuid setfsgid makedev epoll_pwait signalfd \
|
|
eventfd eventfd_read eventfd_write
|
|
|
|
CFLAGS-gethostid.c = -fexceptions
|
|
|
|
sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
|
|
sys/klog.h sys/kdaemon.h \
|
|
sys/user.h sys/procfs.h sys/prctl.h \
|
|
sys/kd.h sys/soundcard.h sys/vt.h \
|
|
sys/quota.h sys/fsuid.h \
|
|
scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h sys/pci.h \
|
|
sys/ultrasound.h sys/raw.h sys/personality.h sys/epoll.h \
|
|
bits/a.out.h sys/inotify.h sys/signalfd.h sys/eventfd.h \
|
|
sys/timerfd.h
|
|
|
|
install-others += $(inst_includedir)/bits/syscall.h
|
|
|
|
tests += tst-clone
|
|
|
|
# Generate the list of SYS_* macros for the system calls (__NR_* macros).
|
|
# For bi-arch platforms, the CPU/Makefile defines {32,64}bit-predefine and
|
|
# we generate a file that uses <bits/wordsize.h>.
|
|
$(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscall.h
|
|
$(make-target-directory)
|
|
{ \
|
|
echo '/* Generated at libc build time from kernel syscall list. */';\
|
|
echo ''; \
|
|
echo '#ifndef _SYSCALL_H'; \
|
|
echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \
|
|
echo '#endif'; \
|
|
echo ''; \
|
|
$(CC) -E -MD -MP -MF $(@:.h=.d)-t1 -MT '$(@:.d=.h) $(@:.h=.d)' \
|
|
-x c $(sysincludes) $< $(addprefix -U,$(64bit-predefine)) \
|
|
$(addprefix -D,$(32bit-predefine)) -D_LIBC -dM | \
|
|
sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
|
|
LC_ALL=C sort > $(@:.d=.h).new32; \
|
|
$(CC) -E -MD -MP -MF $(@:.h=.d)-t2 -MT '$(@:.d=.h) $(@:.h=.d)' \
|
|
-x c $(sysincludes) $< $(addprefix -U,$(32bit-predefine)) \
|
|
$(addprefix -D,$(64bit-predefine)) -D_LIBC -dM | \
|
|
sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' | \
|
|
LC_ALL=C sort > $(@:.d=.h).new64; \
|
|
if cmp -s $(@:.d=.h).new32 $(@:.d=.h).new64; then \
|
|
cat $(@:.d=.h).new32; \
|
|
else \
|
|
echo '#include <bits/wordsize.h>'; \
|
|
echo ''; \
|
|
LC_ALL=C comm -12 $(@:.d=.h).new32 $(@:.d=.h).new64; \
|
|
echo '#if __WORDSIZE == 64'; \
|
|
LC_ALL=C comm -13 $(@:.d=.h).new32 $(@:.d=.h).new64; \
|
|
echo '#else'; \
|
|
LC_ALL=C comm -23 $(@:.d=.h).new32 $(@:.d=.h).new64; \
|
|
echo '#endif'; \
|
|
fi; \
|
|
rm -f $(@:.d=.h).new32 $(@:.d=.h).new64; \
|
|
} > $(@:.d=.h).new
|
|
mv -f $(@:.d=.h).new $(@:.d=.h)
|
|
ifneq (,$(objpfx))
|
|
sed $(sed-remove-objpfx) $(@:.h=.d)-t1 $(@:.h=.d)-t2 > $(@:.h=.d)-t3
|
|
else
|
|
cat $(@:.h=.d)-t1 $(@:.h=.d)-t2 > $(@:.h=.d)-t3
|
|
endif
|
|
rm -f $(@:.h=.d)-t1 $(@:.h=.d)-t2
|
|
mv -f $(@:.h=.d)-t3 $(@:.h=.d)
|
|
|
|
$(inst_includedir)/bits/syscall.h: $(objpfx)syscall-list.h $(+force)
|
|
$(make-target-directory)
|
|
if test -r $@ && cmp -s $< $@; \
|
|
then echo 'bits/syscall.h unchanged'; \
|
|
else $(INSTALL_DATA) $< $@; fi
|
|
|
|
ifndef no_deps
|
|
# Get the generated list of dependencies (probably /usr/include/asm/unistd.h).
|
|
-include $(objpfx)syscall-list.d
|
|
endif
|
|
generated += syscall-list.h syscall-list.d
|
|
endif
|
|
|
|
ifeq ($(subdir),time)
|
|
sysdep_headers += sys/timex.h
|
|
|
|
sysdep_routines += ntp_gettime ntp_gettimex
|
|
endif
|
|
|
|
ifeq ($(subdir),socket)
|
|
sysdep_headers += net/if_ppp.h net/ppp-comp.h \
|
|
net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h \
|
|
net/if_slip.h net/if_packet.h net/if_shaper.h
|
|
sysdep_routines += cmsg_nxthdr sa_len
|
|
endif
|
|
|
|
ifeq ($(subdir),sunrpc)
|
|
sysdep_headers += nfs/nfs.h
|
|
endif
|
|
|
|
ifeq ($(subdir),termios)
|
|
sysdep_headers += termio.h
|
|
endif
|
|
|
|
ifeq ($(subdir),posix)
|
|
sysdep_headers += bits/initspin.h
|
|
|
|
sysdep_routines += exit-thread sched_getcpu
|
|
|
|
tests += tst-getcpu
|
|
endif
|
|
|
|
ifeq ($(subdir),inet)
|
|
sysdep_headers += netinet/if_fddi.h netinet/if_tr.h \
|
|
netipx/ipx.h netash/ash.h netax25/ax25.h netatalk/at.h \
|
|
netrom/netrom.h netpacket/packet.h netrose/rose.h \
|
|
neteconet/ec.h netiucv/iucv.h
|
|
endif
|
|
|
|
# Don't compile the ctype glue code, since there is no old non-GNU C library.
|
|
inhibit-glue = yes
|
|
|
|
ifeq ($(subdir),dirent)
|
|
sysdep_routines += getdirentries getdirentries64
|
|
endif
|
|
|
|
ifeq ($(subdir),nis)
|
|
CFLAGS-ypclnt.c = -DUSE_BINDINGDIR=1
|
|
endif
|
|
|
|
ifeq ($(subdir),io)
|
|
sysdep_routines += xstatconv internal_statvfs internal_statvfs64 \
|
|
sync_file_range open_2 open64_2 fallocate fallocate64
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
sysdep-rtld-routines += dl-brk dl-sbrk
|
|
|
|
CPPFLAGS-lddlibc4 += -DNOT_IN_libc
|
|
endif
|
|
|
|
ifeq ($(subdir),rt)
|
|
CFLAGS-mq_send.c += -fexceptions
|
|
CFLAGS-mq_receive.c += -fexceptions
|
|
endif
|
|
|
|
ifeq ($(subdir),nscd)
|
|
CFLAGS-connections.c += -DHAVE_EPOLL -DHAVE_SENDFILE -DHAVE_INOTIFY
|
|
CFLAGS-pwdcache.c += -DHAVE_SENDFILE
|
|
CFLAGS-grpcache.c += -DHAVE_SENDFILE
|
|
CFLAGS-hstcache.c += -DHAVE_SENDFILE
|
|
CFLAGS-aicache.c += -DHAVE_SENDFILE
|
|
CFLAGS-initgrcache.c += -DHAVE_SENDFILE
|
|
CFLAGS-gai.c += -DNEED_NETLINK
|
|
endif
|