1999-01-18  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.d): Fix
	generation of dependency list to make it work with newer versions
	of gcc.

1999-01-18  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makerules (build-module): New macro, moved from...
	* elf/Makefile (build-module): ... here.
	* iconvdata/Makefile (build-module): ... and here.
This commit is contained in:
Ulrich Drepper 1999-01-20 09:42:04 +00:00
parent 0ed91d50ee
commit 5d003fb2ea
5 changed files with 32 additions and 28 deletions

View File

@ -1,3 +1,15 @@
1999-01-18 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.d): Fix
generation of dependency list to make it work with newer versions
of gcc.
1999-01-18 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* Makerules (build-module): New macro, moved from...
* elf/Makefile (build-module): ... here.
* iconvdata/Makefile (build-module): ... and here.
1999-01-20 Ulrich Drepper <drepper@cygnus.com> 1999-01-20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/alpha/Versions: Add __atan2 for libm and GLIBC_2.0. * sysdeps/alpha/Versions: Add __atan2 for libm and GLIBC_2.0.

View File

@ -369,6 +369,18 @@ $(LINK.o) -shared -Wl,-O1 -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so) $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
endef endef
# This macro is similar to build-shlib but it does not define a soname
# and it does not depend on the destination name to start with `lib'.
define build-module
$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
-B$(csu-objpfx) $(load-map-file) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
-Wl,--whole-archive \
$(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
endef
ifndef libc.so-version ifndef libc.so-version
# Undefine this because it can't work when we libc.so is unversioned. # Undefine this because it can't work when we libc.so is unversioned.
static-only-routines = static-only-routines =

View File

@ -202,18 +202,6 @@ else
$(objpfx)sprof: $(objpfx)libdl.a $(objpfx)sprof: $(objpfx)libdl.a
endif endif
# This macro is similar to build-shlib but it does not define a soname
# and it does not depend on the destination name to start with `lib'.
define build-module
$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
-B$(csu-objpfx) $(load-map-file) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
-Wl,--whole-archive -Wl,-soname,$(@F) \
$(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
endef
modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
testobj1_1 testobj1_1
test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names))) test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))

View File

@ -1,4 +1,4 @@
# Copyright (C) 1997, 1998 Free Software Foundation, Inc. # Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
# This file is part of the GNU C Library. # This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or # The GNU C Library is free software; you can redistribute it and/or
@ -115,18 +115,6 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \
# We build the transformation modules only when we build shared libs. # We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared)) ifeq (yes,$(build-shared))
# This macro is similar to build-shlib but it does not define a soname
# and it does not depend on the destination name to start with `lib'.
define build-module
$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
-B$(csu-objpfx) $(load-map-file) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
-Wl,--whole-archive \
$(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
endef
# Rule to generate the shared objects. # Rule to generate the shared objects.
charmaps = ../localedata/charmaps charmaps = ../localedata/charmaps
ifndef no_deps ifndef no_deps

View File

@ -23,7 +23,7 @@ install-others += $(inst_includedir)/bits/syscall.h
# Generate the list of SYS_* macros for the system calls (__NR_* macros). # Generate the list of SYS_* macros for the system calls (__NR_* macros).
$(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscall.h $(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscall.h
rm -f $(@:.h=.d) rm -f $(@:.h=.d)-t
{ \ { \
echo '/* Generated at libc build time from kernel syscall list. */';\ echo '/* Generated at libc build time from kernel syscall list. */';\
echo ''; \ echo ''; \
@ -31,12 +31,16 @@ $(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscal
echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \ echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \
echo '#endif'; \ echo '#endif'; \
echo ''; \ echo ''; \
SUNPRO_DEPENDENCIES='$(@:.h=.d) $(patsubst $(objpfx)%,$$(objpfx)%,\ SUNPRO_DEPENDENCIES='$(@:.h=.d)-t $@' \
$(@:.d=.h) $(@:.h=.d))' \
$(CC) -E -x c $(sysincludes) $< -D_LIBC -dM | \ $(CC) -E -x c $(sysincludes) $< -D_LIBC -dM | \
sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p'; \ sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p'; \
} > $(@:.d=.h).new } > $(@:.d=.h).new
mv -f $(@:.d=.h).new $(@:.d=.h) mv -f $(@:.d=.h).new $(@:.d=.h)
sed < $(@:.h=.d)-t > $(@:.h=.d)-t2 \
-e 's,$(subst .,\.,$@),$(patsubst $(objpfx)%,$$(objpfx)%,\
$(@:.d=.h) $(@:.h=.d)),'
rm -f $(@:.h=.d)-t
mv -f $(@:.h=.d)-t2 $(@:.h=.d)
$(inst_includedir)/bits/syscall.h: $(objpfx)syscall-list.h $(+force) $(inst_includedir)/bits/syscall.h: $(objpfx)syscall-list.h $(+force)
$(make-target-directory) $(make-target-directory)