diff --git a/ChangeLog b/ChangeLog index b65a43f48e..2d1126eac0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-12-02 Roland McGrath + + * extra-lib.mk (object-suffixes-$(lib)): Add .oS when + $(lib)-static-only-routines is nonempty. + (extra-objs, o-iterator.mk rule): Filter out .oS from generators. + Add a special rule for .oS objects -> _nonshared.a library. + 2004-12-01 Jakub Jelinek * time/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC, diff --git a/extra-lib.mk b/extra-lib.mk index 5428523e06..775eb23cdd 100644 --- a/extra-lib.mk +++ b/extra-lib.mk @@ -11,6 +11,12 @@ extra-libs-left := $(filter-out $(lib),$(extra-libs-left)) object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes)) +ifneq (,$($(lib)-static-only-routines)) +ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version))) +object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS) +endif +endif + ifneq (,$(object-suffixes-$(lib))) # Make sure these are simply-expanded variables before we append to them, @@ -23,7 +29,7 @@ all-$(lib)-routines := $($(lib)-routines) $($(lib)-sysdep_routines) # Add each flavor of library to the lists of things to build and install. install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) -extra-objs += $(foreach o,$(object-suffixes-$(lib):.os=),\ +extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\ $(patsubst %,%$o,$(filter-out \ $($(lib)-shared-only-routines),\ $(all-$(lib)-routines)))) @@ -51,7 +57,7 @@ endif # Use o-iterator.mk to generate a rule for each flavor of library. -ifneq (,$(filter-out .os,$(object-suffixes-$(lib)))) +ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib)))) define o-iterator-doit $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \ $(patsubst %,$(objpfx)%$o,\ @@ -59,13 +65,23 @@ $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \ $(all-$(lib)-routines))); \ $$(build-extra-lib) endef -object-suffixes-left = $(object-suffixes-$(lib):.os=) -include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-$(lib):.os=)) +object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib))) +include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left)) endif ifneq (,$(filter .os,$(object-suffixes-$(lib)))) $(objpfx)$(patsubst %,$(libtype.os),$(lib:lib%=%)): \ - $(all-$(lib)-routines:%=$(objpfx)%.os) + $(patsubst %,$(objpfx)%.os,\ + $(filter-out $($(lib)-static-only-routines),\ + $(all-$(lib)-routines))) + $(build-extra-lib) +endif + +ifneq (,$(filter .oS,$(object-suffixes-$(lib)))) +$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \ + $(patsubst %,$(objpfx)%.oS,\ + $(filter $($(lib)-static-only-routines),\ + $(all-$(lib)-routines))) $(build-extra-lib) endif diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 3a0af11862..e983f61b34 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,16 @@ +2004-12-02 Roland McGrath + + * Makefile (libpthread-nonshared): Variable removed. + ($(objpfx)libpthread_nonshared.a): Target removed. + ($(inst_libdir)/libpthread_nonshared.a): Likewise. + These are now handled by generic magic from + libpthread-static-only-routines being set. + +2004-11-04 Roland McGrath + + * sysdeps/pthread/getcpuclockid.c (pthread_getcpuclockid) + [__NR_clock_getres]: Use kernel-supplied CPU clocks if available. + 2004-11-27 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_PRIORITIZED_IO, diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index a6689bb4a0..3f06c41276 100644 --- a/linuxthreads/Makefile +++ b/linuxthreads/Makefile @@ -63,8 +63,6 @@ omit-deps = $(unix-syscalls:%=ptw-%) libpthread-shared-only-routines = pt-allocrtsig libpthread-static-only-routines = pthread_atfork -libpthread-nonshared = pthread_atfork - linuxthreads-CPPFLAGS = -DIS_IN_linuxthreads=1 CFLAGS-pthread_atfork.c = -DNOT_IN_libc @@ -81,13 +79,6 @@ CFLAGS-tst-cancel.c = -fno-inline -fno-inline-functions include ../Makeconfig -ifeq ($(build-shared),yes) -others: $(objpfx)libpthread_nonshared.a -endif - -$(objpfx)libpthread_nonshared.a: $(addprefix $(objpfx),$(addsuffix .os,$(libpthread-nonshared))) - $(AR) $(ARFLAGS) $@ $^ - ifeq ($(build-shared),yes) # Set the `multidir' variable by grabbing the variable from the compiler. @@ -180,8 +171,6 @@ $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ ')' \ ) > $@.new mv -f $@.new $@ -$(inst_libdir)/libpthread_nonshared.a: $(objpfx)libpthread_nonshared.a - $(do-install) extra-B-pthread.so = -B$(common-objpfx)linuxthreads/ diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 4b2c1dbf1b..f045eea012 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,17 @@ +2004-12-02 Roland McGrath + + * Makefile (libpthread-nonshared): Variable removed. + ($(objpfx)libpthread_nonshared.a): Target removed. + ($(inst_libdir)/libpthread_nonshared.a): Likewise. + These are now handled by generic magic from + libpthread-static-only-routines being set. + +2004-11-17 Roland McGrath + + * sysdeps/unix/sysv/linux/timer_create.c (timer_create): Handle + CLOCK_PROCESS_CPUTIME_ID and CLOCK_PROCESS_THREAD_ID specially, + translating to the kernel clockid_t for our own process/thread clock. + 2004-11-27 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_PRIORITIZED_IO, diff --git a/nptl/Makefile b/nptl/Makefile index c103503582..f9993dd1fd 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -125,8 +125,6 @@ libpthread-routines = init vars events version \ libpthread-shared-only-routines = version pt-allocrtsig unwind-forcedunwind libpthread-static-only-routines = pthread_atfork -libpthread-nonshared = pthread_atfork - CFLAGS-pthread_atfork.c = -DNOT_IN_libc # Since cancellation handling is in large parts handled using exceptions @@ -301,13 +299,8 @@ $(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds ifeq ($(build-shared),yes) # Build all the modules even when not actually running test programs. tests: $(test-modules) - -others: $(objpfx)libpthread_nonshared.a endif -$(objpfx)libpthread_nonshared.a: $(addprefix $(objpfx),$(addsuffix .os,$(libpthread-nonshared))) - $(AR) $(ARFLAGS) $@ $^ - ifeq ($(build-shared),yes) # Set the `multidir' variable by grabbing the variable from the compiler. @@ -378,8 +371,6 @@ $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \ ')' \ ) > $@.new mv -f $@.new $@ -$(inst_libdir)/libpthread_nonshared.a: $(objpfx)libpthread_nonshared.a - $(do-install) endif