-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Austin Foxley wrote: > commit: > http://git.uclibc.org/uClibc/commit/?id=641e7e36ad0a9b2899b04f256c5b243ada7da279 > branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/nptl > > gets rid of nptl_headers,nptl_arch_headers,nptl_linux_headers targets > > also, clean up extra slashes in i386/sparc and unify the implementation > of nptl header generation between all archs > > Signed-off-by: Austin Foxley <[email protected]> > --- > Makefile.in | 2 +- > libpthread/nptl/Makefile.in | 7 ++----- > libpthread/nptl/sysdeps/arm/Makefile.arch | 15 +++++++-------- > libpthread/nptl/sysdeps/i386/Makefile.arch | 7 +++---- > libpthread/nptl/sysdeps/mips/Makefile.arch | 17 ++++++++--------- > libpthread/nptl/sysdeps/sh/Makefile.arch | 3 +-- > libpthread/nptl/sysdeps/sparc/Makefile.arch | 7 +++---- > .../nptl/sysdeps/unix/sysv/linux/Makefile.in | 9 ++++----- > 8 files changed, 29 insertions(+), 38 deletions(-) > > diff --git a/Makefile.in b/Makefile.in > index 90cb631..28d9bc8 100644 > --- a/Makefile.in > +++ b/Makefile.in > @@ -160,7 +160,7 @@ headers-y += $(target-headers-sysdep) > > headers: $(top_builddir)include/bits/uClibc_config.h > subdirs: $(addprefix $(top_builddir),$(subdirs)) > -pregen: $(top_builddir)include/bits/sysnum.h headers subdirs > $(pthread_pregen) > +pregen: $(top_builddir)include/bits/sysnum.h headers subdirs > $(Q)$(if $(UCLIBC_HAS_LOCALE),$(MAKE) -C extra/locale locale_headers) > > $(top_builddir)include/bits/sysnum.h: > $(top_srcdir)extra/scripts/gen_bits_syscall_h.sh > diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in > index 9b4ba51..6f982bc 100644 > --- a/libpthread/nptl/Makefile.in > +++ b/libpthread/nptl/Makefile.in > @@ -261,8 +261,6 @@ headers_clean-y += nptl_headers_clean > -include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/Makefile.in > -include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/Makefile.arch > > -pthread_pregen := nptl_headers nptl_arch_headers nptl_linux_headers > - > lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a > lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so > > @@ -322,9 +320,8 @@ nptl_headers_bootstrap:= $(top_builddir)include/pthread.h > \ > $(top_builddir)include/bits/semaphore.h \ > $(top_builddir)include/bits/pthreadtypes.h \ > $(top_builddir)include/bits/libc-lock.h \ > - $(top_builddir)include/bits/stdio-lock.h > - > -nptl_headers: $(PTHREAD_OUT)/pthread-errnos.h > + $(top_builddir)include/bits/stdio-lock.h \ > + $(PTHREAD_OUT)/pthread-errnos.h > > nptl_headers_clean: > $(do_rm) $(nptl_headers_bootstrap) \ > diff --git a/libpthread/nptl/sysdeps/arm/Makefile.arch > b/libpthread/nptl/sysdeps/arm/Makefile.arch > index 6d16ae3..79c8832 100644 > --- a/libpthread/nptl/sysdeps/arm/Makefile.arch > +++ b/libpthread/nptl/sysdeps/arm/Makefile.arch > @@ -43,7 +43,8 @@ librt-so-y += $(LIBRT_ARCH_OBJ:.o=.oS) > > libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ) > > -objclean-y += nptl_arch_objclean > +objclean-y += nptl_arch_clean > +headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h > headers_clean-y += nptl_arch_headers_clean > > # > @@ -57,13 +58,11 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.c: > $(PTHREAD_ARCH_DIR)/tcb-offsets.sym > $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c > $(compile.c) > > -nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > - $(do_sed) -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h > +$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > + $(do_sed) -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $@ > > nptl_arch_headers_clean: > - $(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c \ > - $(PTHREAD_ARCH_OUT)/tcb-offsets.s \ > - $(PTHREAD_ARCH_OUT)/tcb-offsets.h > + $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h) > > -nptl_arch_objclean: > - $(RM) $(PTHREAD_ARCH_OUT)/*.{o,os,oS} > +nptl_arch_clean: > + $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/*., o os oS) > diff --git a/libpthread/nptl/sysdeps/i386/Makefile.arch > b/libpthread/nptl/sysdeps/i386/Makefile.arch > index 2b9a2dc..2b8fbbf 100644 > --- a/libpthread/nptl/sysdeps/i386/Makefile.arch > +++ b/libpthread/nptl/sysdeps/i386/Makefile.arch > @@ -13,8 +13,8 @@ CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE > CFLAGS-i386 = $(SSP_ALL_CFLAGS) > #CFLAGS:=$(CFLAGS:-O1=-O2) > > -PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/i386/ > -PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/i386/ > +PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/i386 > +PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/i386 > PTHREAD_ARCH_OBJ := $(patsubst > %.S,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_SSRC)) > PTHREAD_ARCH_OBJ += $(patsubst > %.c,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_CSRC)) > > @@ -28,6 +28,7 @@ libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS) > libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ) > > objclean-y += nptl_arch_clean > +headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h > headers_clean-y += nptl_arch_headers_clean > > # > @@ -44,8 +45,6 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.s: > $(PTHREAD_ARCH_OUT)/tcb-offsets.c > $(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > @sed -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $@ > > -nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h > - > nptl_arch_headers_clean: > $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h) > > diff --git a/libpthread/nptl/sysdeps/mips/Makefile.arch > b/libpthread/nptl/sysdeps/mips/Makefile.arch > index 5d77b00..9e93eca 100644 > --- a/libpthread/nptl/sysdeps/mips/Makefile.arch > +++ b/libpthread/nptl/sysdeps/mips/Makefile.arch > @@ -39,7 +39,8 @@ libc-static-y += $(LIBC_ARCH_OBJ) > > libc-nomulti-y += $(LIBC_ARCH_OBJ) > > -objclean-y += nptl_arch_objclean > +objclean-y += nptl_arch_clean > +headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h > headers_clean-y += nptl_arch_headers_clean > > # > @@ -48,18 +49,16 @@ headers_clean-y += nptl_arch_headers_clean > CFLAGS-tcb-offsets.c = -S > > $(PTHREAD_ARCH_OUT)/tcb-offsets.c: $(PTHREAD_ARCH_DIR)/tcb-offsets.sym > - awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ > + $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ > > $(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c > $(compile.c) > > -nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > - $(do_sed) -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h > +$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > + $(do_sed) -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $@ > > nptl_arch_headers_clean: > - $(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c \ > - $(PTHREAD_ARCH_OUT)/tcb-offsets.s \ > - $(PTHREAD_ARCH_OUT)/tcb-offsets.h > + $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h) > > -nptl_arch_objclean: > - $(RM) $(PTHREAD_ARCH_OUT)/*.{o,os,oS} > +nptl_arch_clean: > + $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/*., o os oS) > diff --git a/libpthread/nptl/sysdeps/sh/Makefile.arch > b/libpthread/nptl/sysdeps/sh/Makefile.arch > index 83db10f..322b455 100644 > --- a/libpthread/nptl/sysdeps/sh/Makefile.arch > +++ b/libpthread/nptl/sysdeps/sh/Makefile.arch > @@ -31,6 +31,7 @@ libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS) > libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ) > > objclean-y += nptl_arch_clean > +headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h > headers_clean-y += nptl_arch_headers_clean > > # > @@ -47,8 +48,6 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.s: > $(PTHREAD_ARCH_OUT)/tcb-offsets.c > $(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > $(do_sed) -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $@ > > -nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h > - > nptl_arch_headers_clean: > $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h) > > diff --git a/libpthread/nptl/sysdeps/sparc/Makefile.arch > b/libpthread/nptl/sysdeps/sparc/Makefile.arch > index b13eee9..378e322 100644 > --- a/libpthread/nptl/sysdeps/sparc/Makefile.arch > +++ b/libpthread/nptl/sysdeps/sparc/Makefile.arch > @@ -13,8 +13,8 @@ CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE > CFLAGS-sparc = $(SSP_ALL_CFLAGS) > #CFLAGS:=$(CFLAGS:-O1=-O2) > > -PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/sparc/ > -PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/sparc/ > +PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/sparc > +PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/sparc > PTHREAD_ARCH_OBJ := $(patsubst > %.S,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_SSRC)) > PTHREAD_ARCH_OBJ += $(patsubst > %.c,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_CSRC)) > > @@ -28,6 +28,7 @@ libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS) > libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ) > > objclean-y += nptl_arch_clean > +headers-y += $(PTHREAD_ARCH_OUT)/tcb-offsets.h > headers_clean-y += nptl_arch_headers_clean > > # > @@ -44,8 +45,6 @@ $(PTHREAD_ARCH_OUT)/tcb-offsets.s: > $(PTHREAD_ARCH_OUT)/tcb-offsets.c > $(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s > @sed -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $@ > > -nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h > - > nptl_arch_headers_clean: > $(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h) > > diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in > b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in > index 563b6c1..01b2cdd 100644 > --- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in > +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in > @@ -139,6 +139,10 @@ librt-a-y += $(LIBRT_LINUX_OBJ) > librt-so-y += $(LIBRT_LINUX_OBJ:.o=.oS) > > objclean-y += nptl_linux_clean > +headers-y += $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \ > + $(PTHREAD_LINUX_OUT)/lowlevelcond.h \ > + $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \ > + $(PTHREAD_LINUX_OUT)/unwindbuf.h > headers_clean-y += nptl_linux_headers_clean > > # > @@ -185,11 +189,6 @@ $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h: > $(PTHREAD_LINUX_OUT)/lowlevelrwlock.s > $(PTHREAD_LINUX_OUT)/unwindbuf.h: $(PTHREAD_LINUX_OUT)/unwindbuf.s > $(do_sed) -n > "s/^.*@@@name@@@\([...@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define > \1 \2/p" $< > $@ > > -nptl_linux_headers: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \ > - $(PTHREAD_LINUX_OUT)/lowlevelcond.h \ > - $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \ > - $(PTHREAD_LINUX_OUT)/unwindbuf.h > - > HEADERS_BITS_PTHREAD := $(notdir $(wildcard > $(PTHREAD_LINUX_DIR)/bits/*.h)) > ALL_HEADERS_BITS_PTHREAD := $(addprefix > include/bits/,$(HEADERS_BITS_PTHREAD)) >
Hi Austin, IIUC now all NPTL specific headers are part of the headers-y makefile target, instead of being a prerequisite of pregen target. I think that this is not fully correct because to generate some nptl headers you need the cross-compiler. If I type the following command (to create headers) make ARCH=sh CROSS_COMPILE=sh4-linux-uclibc- V=y headers I get the following output: install -d include/bits ln -fs ../../libc/sysdeps/linux/common/bits/uClibc_ctype.h include/bits/uClibc_ctype.h ./extra/scripts/conf-header.sh ./.config > include/bits/uClibc_config.h make headers-y awk -f ./extra/scripts/gen-as-const.awk libpthread/nptl/sysdeps/sh/tcb-offsets.sym > libpthread/nptl/sysdeps/sh/tcb-offsets.c sh4-linux-uclibc-gcc -c libpthread/nptl/sysdeps/sh/tcb-offsets.c -o libpthread/nptl/sysdeps/sh/tcb-offsets.s If I type make ARCH=sh headers-y I got the following As you can see, it is using the cross-gcc because it wants to satisfy the nptl headers target. Now, when we are building a toolchain from scratch, we just need only some headers for which we don't need the cross-compiler (this was correctly working previously) to build the gcc bootstrap. Whit this change, it won't work any more. Are you sure this change what you wanted to do ? Thanks, Carmelo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAksiRrYACgkQoRq/3BrK1s9SpACg651IjF0GXm4zXTrWLVJzUFzO 3kwAn2PRP8hjKyG5aigRjaSy7osUvQuT =dsrM -----END PGP SIGNATURE----- _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
