From 951641e7a3ca2287b10da9ab8f916cc88a5c3b22 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 14 Mar 2002 23:32:50 +0000 Subject: [PATCH] 2002-03-14 Roland McGrath * Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h. * Makeconfig (%.v.i, %.v): New implicit rules. (preprocess-versions): Variable removed. ($(common-objpfx)shlib-versions.v.i): New target giving just the shlib-versions input files as dependencies. ($(common-objpfx)soversions.i): Depend on that instead of the input files. Use it as input instead of using a pipeline. (postclean-generated): Append soversions.i, shlib-versions.v, and shlib-versions.v.i here. * Makerules ($(common-objpfx)Versions.def.v.i): New target giving just the Versions.def input files as dependencies. ($(common-objpfx)Versions.v.i): Likewise for Versions files. ($(common-objpfx)Versions.all): Depend on that instead of the input files. Use it as input instead of using a pipeline. ($(common-objpfx)sysd-versions): Likewise with Versions.v.i. (postclean-generated): Append those .v and .v.i files here. --- Makerules | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/Makerules b/Makerules index ac1bdb7..fc4f2b7 100644 --- a/Makerules +++ b/Makerules @@ -1,4 +1,4 @@ -# Copyright (C) 1991-1999, 2000,2001 Free Software Foundation, Inc. +# Copyright (C) 1991-1999,2000,01,02 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -263,35 +263,39 @@ ifeq ($(versioning),yes) -include $(common-objpfx)sysd-versions $(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions common-generated += $(version-maps) -postclean-generated += sysd-versions Versions.all abi-versions.h +postclean-generated += sysd-versions Versions.all abi-versions.h \ + Versions.def.v.i Versions.def.v Versions.v.i Versions.v ifndef avoid-generated ifneq ($(sysd-versions-subdirs),$(all-subdirs) $(config-sysdirs)) sysd-versions-force = FORCE FORCE: endif +# See %.v/%.v.i implicit rules in Makeconfig. +$(common-objpfx)Versions.def.v.i: $(..)Versions.def \ + $(wildcard $(add-ons:%=$(..)%/Versions.def)) $(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \ $(common-objpfx)soversions.i \ - $(..)Versions.def \ - $(wildcard $(add-ons:%=$(..)%/Versions.def)) + $(common-objpfx)Versions.def.v { while read lib version setname; do \ test -z "$$setname" || echo "$$lib : $$setname"; \ done < $(word 2,$^); \ - cat $(filter-out $< $(word 2,$^),$^) \ - | $(preprocess-versions); \ + cat $(word 3,$^); \ } | LC_ALL=C $(AWK) -f $< > $@T mv -f $@T $@ +# See %.v/%.v.i implicit rules in Makeconfig. +$(common-objpfx)Versions.v.i: $(wildcard $(all-subdirs:%=$(..)%/Versions)) \ + $(wildcard $(sysdirs:%=%/Versions)) \ + $(common-objpfx)abi-versions.h \ + $(sysd-versions-force) $(common-objpfx)sysd-versions: $(common-objpfx)Versions.all \ - $(..)scripts/versions.awk \ - $(wildcard $(all-subdirs:%=$(..)%/Versions)) \ - $(wildcard $(sysdirs:%=%/Versions)) \ - $(sysd-versions-force) + $(common-objpfx)Versions.v \ + $(..)scripts/versions.awk ( echo 'sysd-versions-subdirs = $(all-subdirs) $(config-sysdirs)' ; \ - cat $(filter-out $< $(word 2,$^) $(sysd-versions-force),$^) \ - | $(preprocess-versions) \ + cat $(word 2,$^) \ | LC_ALL=C $(AWK) -v buildroot=$(common-objpfx) -v defsfile=$< \ -v move_if_change='$(move-if-change)' \ - -f $(word 2,$^); \ + -f $(word 3,$^); \ ) > $@T mv -f $@T $@ endif # avoid-generated @@ -519,8 +523,10 @@ LDFLAGS-c.so = -nostdlib -nostartfiles LDLIBS-c.so += $(gnulib) # Give libc.so an entry point and make it directly runnable itself. LDFLAGS-c.so += -e __libc_main +ifeq ($(unwind-find-fde),yes) # Force the backward compatibility EH functions to be linked. LDFLAGS-c.so += -u __register_frame +endif # Pre-link the objects of libc_pic.a so that we can locally resolve # COMMON symbols before we link against ld.so. This is because ld.so # contains some of libc_pic.a already, which will prevent the COMMONs -- 2.7.4