-----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

Reply via email to