diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2013-01-06 00:15:41 +0100 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2013-01-06 00:15:41 +0100 |
commit | 03c4c8ba15488540a989d69434928014ac8ab733 (patch) | |
tree | 2bd4919ffad89b604390ca797a5c6b994a688d05 | |
parent | bce8ebc06c0e58f5b3d6557476e47a023c5436bb (diff) | |
download | embtoolkit-03c4c8ba15488540a989d69434928014ac8ab733.tar.gz embtoolkit-03c4c8ba15488540a989d69434928014ac8ab733.tar.bz2 embtoolkit-03c4c8ba15488540a989d69434928014ac8ab733.tar.xz |
Toolchain: eglibc/uClibc: improve dummy libc install after headers install
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r-- | mk/eglibc.mk | 17 | ||||
-rwxr-xr-x | mk/uclibc.mk | 17 |
2 files changed, 30 insertions, 4 deletions
diff --git a/mk/eglibc.mk b/mk/eglibc.mk index ba41a81..6e5c197 100644 --- a/mk/eglibc.mk +++ b/mk/eglibc.mk @@ -56,6 +56,20 @@ eglibc_optgroups_f := $(EGLIBC_BUILD_DIR)/option-groups.config eglibc_headers_optgroups_f := $(EGLIBC_HEADERS_BUILD_DIR)/option-groups.config # +# Install dummy eglibc needed to build gcc stage 2 +# +define __embtk_install_eglibc_dummy + $(TARGETGCC) -nostdlib -nostartfiles -shared -x c /dev/null \ + -o $(embtk_sysroot)/$(LIBDIR)/libc.so.6 + echo '/* GNU ld script - Dummy eglibc linker script. */' \ + > $(embtk_sysroot)/usr/$(LIBDIR)/libc.so + $(TARGETGCC) -Wl,--verbose 2>&1 | sed -n '/OUTPUT_FORMAT/,/)/p' \ + >> $(embtk_sysroot)/usr/$(LIBDIR)/libc.so + echo 'GROUP(AS_NEEDED(libc.so.6))' \ + >> $(embtk_sysroot)/usr/$(LIBDIR)/libc.so +endef + +# # eglibc headers install # @@ -87,8 +101,7 @@ define __embtk_install_eglibc_headers cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crt1.o $(embtk_sysroot)/usr/$(LIBDIR)/ cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crti.o $(embtk_sysroot)/usr/$(LIBDIR)/ cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crtn.o $(embtk_sysroot)/usr/$(LIBDIR)/ - $(TARGETGCC) -nostdlib -nostartfiles -shared -x c /dev/null \ - -o $(embtk_sysroot)/usr/$(LIBDIR)/libc.so + $(__embtk_install_eglibc_dummy) touch $(call __embtk_pkg_dotinstalled_f,eglibc_headers) endef diff --git a/mk/uclibc.mk b/mk/uclibc.mk index c0bb148..65fc473 100755 --- a/mk/uclibc.mk +++ b/mk/uclibc.mk @@ -57,6 +57,20 @@ UCLIBC_MAKE_OPTS += KERNEL_HEADERS="$(embtk_sysroot)/usr/include/" UCLIBC_MAKE_OPTS += UCLIBC_EXTRA_CFLAGS="$(EMBTK_UCLIBC_CFLAGS)" # +# Install dummy uClibc needed to build gcc stage 2 +# +define __embtk_install_uclibc_dummy + $(TARGETGCC) -nostdlib -nostartfiles -shared -x c /dev/null \ + -o $(embtk_sysroot)/$(LIBDIR)/libc.so.0 + echo '/* GNU ld script - Dummy uClibc linker script. */' \ + > $(embtk_sysroot)/usr/$(LIBDIR)/libc.so + $(TARGETGCC) -Wl,--verbose 2>&1 | sed -n '/OUTPUT_FORMAT/,/)/p' \ + >> $(embtk_sysroot)/usr/$(LIBDIR)/libc.so + echo 'GROUP(AS_NEEDED(libc.so.0))' \ + >> $(embtk_sysroot)/usr/$(LIBDIR)/libc.so +endef + +# # uClibc libraries install # define embtk_install_uclibc @@ -76,8 +90,7 @@ define __embtk_install_uclibc_headers $(MAKE) -C $(UCLIBC_BUILD_DIR) $(UCLIBC_MAKE_OPTS) install_headers $(MAKE) -C $(UCLIBC_BUILD_DIR) $(UCLIBC_MAKE_OPTS) install_startfiles $(MAKE) -C $(UCLIBC_BUILD_DIR) $(UCLIBC_MAKE_OPTS) install_startfiles - $(TARGETGCC) -nostdlib -nostartfiles -shared -x c /dev/null \ - -o $(embtk_sysroot)/usr/$(LIBDIR)/libc.so + $(__embtk_install_uclibc_dummy) touch $(call __embtk_pkg_dotinstalled_f,uclibc_headers) endef |