diff options
Diffstat (limited to 'toolchain/uClibc')
-rw-r--r-- | toolchain/uClibc/Makefile | 36 | ||||
-rw-r--r-- | toolchain/uClibc/Makefile.inc | 4 | ||||
-rw-r--r-- | toolchain/uClibc/patches/devel-prefix-lib.patch | 78 | ||||
-rw-r--r-- | toolchain/uClibc/patches/disable-opt-debug-cflags.patch | 25 | ||||
-rw-r--r-- | toolchain/uClibc/patches/extension-insteadof-inline.patch | 77 | ||||
-rw-r--r-- | toolchain/uClibc/patches/mips64.patch | 12 | ||||
-rw-r--r-- | toolchain/uClibc/patches/null-pointer.patch | 12 |
7 files changed, 88 insertions, 156 deletions
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index 3a9310ad1..8d956f4b1 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -8,46 +8,24 @@ include ../rules.mk include Makefile.inc include ${TOPDIR}/mk/buildhlp.mk -#workaround for mips and gcc 4.4, where -Os does not inline code in ld.so -ifeq ($(ARCH),mips) -TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS)) -endif -#workaround for cris and gcc 4.4, where -Os generates ICE -ifeq ($(ARCH),cris) -TARGET_CFLAGS:=$(subst Os,O2,$(TARGET_CFLAGS)) -endif - $(WRKBUILD)/.headers: $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(WRKBUILD)/Rules.mak sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${TOOLCHAIN_SYSROOT}/usr/include\"' \ - $(TOPDIR)/target/$(DEVICE)/uclibc.config >${WRKBUILD}/.config -ifeq ($(ADK_IPV6),y) - $(SED) 's,# UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=y,' \ - ${WRKBUILD}/.config -endif -ifeq ($(ADK_SSP),y) - $(SED) 's,# UCLIBC_HAS_SSP.*,UCLIBC_HAS_SSP=y,' \ - ${WRKBUILD}/.config - echo 'UCLIBC_BUILD_SSP=y' >> ${WRKBUILD}/.config - echo '# UCLIBC_HAS_SSP_COMPAT is not set' >> ${WRKBUILD}/.config - echo '# SSP_QUICK_CANARY is not set' >> ${WRKBUILD}/.config - echo 'PROPOLICE_BLOCK_ABRT=y' >> ${WRKBUILD}/.config - echo '# PROPOLICE_BLOCK_SEGV is not set' >> ${WRKBUILD}/.config -endif + $(TOPDIR)/target/$(ADK_TARGET)/uclibc.config >${WRKBUILD}/.config ifneq ($(ADK_DEBUG),) $(SED) 's,DOSTRIP,DODEBUG,' ${WRKBUILD}/.config endif $(MAKE) -C $(WRKBUILD) \ - PREFIX=$(TOOLCHAIN_SYSROOT)/ \ + PREFIX=$(TOOLCHAIN_SYSROOT) \ DEVEL_PREFIX=/usr/ \ - RUNTIME_PREFIX=$(TOOLCHAIN_SYSROOT)/ \ + RUNTIME_PREFIX=$(TOOLCHAIN_SYSROOT) \ HOSTCC="$(HOSTCC)" \ CPU_CFLAGS="$(TARGET_CFLAGS)" \ install_headers touch $(WRKBUILD)/.configured touch $@ -$(WRKBUILD)/.compiled: +$(WRKBUILD)/.compiled: $(MAKE) -C $(WRKBUILD) \ PREFIX= \ DEVEL_PREFIX=/ \ @@ -60,7 +38,8 @@ $(WRKBUILD)/.compiled: $(WRKBUILD)/.install_headers: $(WRKBUILD)/.compiled $(MAKE) -C $(WRKBUILD) \ PREFIX=$(STAGING_DIR) \ - DEVEL_PREFIX=/ \ + DEVEL_PREFIX=/usr/ \ + DEVEL_PREFIX_LIB=/ \ RUNTIME_PREFIX=/ \ CPU_CFLAGS="$(TARGET_CFLAGS)" \ install_dev @@ -69,7 +48,8 @@ $(WRKBUILD)/.install_headers: $(WRKBUILD)/.compiled $(WRKBUILD)/.installed: $(WRKBUILD)/.install_headers $(MAKE) -C $(WRKBUILD) \ PREFIX=$(STAGING_DIR) \ - DEVEL_PREFIX=/ \ + DEVEL_PREFIX=/usr/ \ + DEVEL_PREFIX_LIB=/ \ RUNTIME_PREFIX=/ \ CPU_CFLAGS="$(TARGET_CFLAGS)" \ install_runtime diff --git a/toolchain/uClibc/Makefile.inc b/toolchain/uClibc/Makefile.inc index 5fdeb5a17..f02b99e1a 100644 --- a/toolchain/uClibc/Makefile.inc +++ b/toolchain/uClibc/Makefile.inc @@ -2,8 +2,8 @@ # material, please see the LICENCE file in the top-level directory. PKG_NAME:= uClibc -PKG_VERSION:= 0.9.30.1 +PKG_VERSION:= 0.9.30.3 PKG_RELEASE:= 1 -PKG_MD5SUM:= 1a4b84e5536ad8170563ffa88c34679c +PKG_MD5SUM:= 73a4bf4a0fa508b01a7a3143574e3d21 PKG_SITES:= http://uclibc.org/downloads/ DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/toolchain/uClibc/patches/devel-prefix-lib.patch b/toolchain/uClibc/patches/devel-prefix-lib.patch new file mode 100644 index 000000000..336fad1c7 --- /dev/null +++ b/toolchain/uClibc/patches/devel-prefix-lib.patch @@ -0,0 +1,78 @@ +diff -Nur uClibc-0.9.30.3.orig/Makefile.in uClibc-0.9.30.3/Makefile.in +--- uClibc-0.9.30.3.orig/Makefile.in 2010-03-12 20:32:42.000000000 +0100 ++++ uClibc-0.9.30.3/Makefile.in 2010-03-12 22:05:15.486918488 +0100 +@@ -190,7 +190,7 @@ + install: install_runtime install_dev + + +-RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)lib $(RUNTIME_PREFIX)lib) ++RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX_LIB)lib $(RUNTIME_PREFIX)lib) + + $(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c|$(@D) + $(hcompile.u) +@@ -371,41 +371,41 @@ + + # Installs development library links. + install_dev: install_headers install_runtime +- $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib +- -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/ ++ $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX_LIB)lib ++ -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX_LIB)lib/ + ifeq ($(HAVE_SHARED),y) + for i in `find lib/ -type l -name 'lib[a-zA-Z]*.so' | \ + $(SED) -e 's/lib\///'` ; do \ + $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)$$i.$(MAJOR_VERSION) \ +- $(PREFIX)$(DEVEL_PREFIX)lib/$$i; \ ++ $(PREFIX)$(DEVEL_PREFIX_LIB)lib/$$i; \ + done + if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \ +- $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \ +- $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \ ++ $(RM) $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libc.so; \ ++ $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX_LIB)lib/$(NONSHARED_LIBNAME):' \ + -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME):' \ + -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \ +- $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \ ++ $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libc.so; \ + fi + ifeq ($(UCLIBC_HAS_THREADS),y) + ifneq ($(LINUXTHREADS_OLD),y) + if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) ] ; then \ +- $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \ +- cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \ +- echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)lib/libpthread_nonshared.a )" \ +- >> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \ ++ $(RM) $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libpthread.so; \ ++ cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libpthread.so; \ ++ echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX_LIB)lib/libpthread_nonshared.a )" \ ++ >> $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libpthread.so; \ + fi + endif + endif + ifeq ($(PTHREADS_DEBUG_SUPPORT),y) + $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \ +- $(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so ++ $(PREFIX)$(DEVEL_PREFIX_LIB)lib/libthread_db.so + endif + ifeq ($(DOPIC),y) + # # If we build shared libraries then the static libs are PIC... + # # Make _pic.a symlinks to make mklibs.py and similar tools happy. + if [ -d lib ] ; then \ + for i in `find lib/ -type f -name 'lib*.a' | $(SED) -e 's/lib\///'` ; do \ +- $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)lib/`echo $$i \ ++ $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX_LIB)lib/`echo $$i \ + | $(SED) -e 's/\.a$$/_pic.a/'`; \ + done ; \ + fi +@@ -414,9 +414,9 @@ + ifeq ($(UCLIBC_FORMAT_SHARED_FLAT),y) + for file in lib/lib*.gdb; do \ + if test -f $$file; then \ +- $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)lib; \ ++ $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX_LIB)lib; \ + $(INSTALL) -m 755 `echo $$file | $(SED) 's/\.gdb$$//'` \ +- $(PREFIX)$(DEVEL_PREFIX)lib; \ ++ $(PREFIX)$(DEVEL_PREFIX_LIB)lib; \ + fi; \ + done + endif diff --git a/toolchain/uClibc/patches/disable-opt-debug-cflags.patch b/toolchain/uClibc/patches/disable-opt-debug-cflags.patch deleted file mode 100644 index 434f1d793..000000000 --- a/toolchain/uClibc/patches/disable-opt-debug-cflags.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -Nur uClibc-0.9.30.1.orig/Rules.mak uClibc-0.9.30.1/Rules.mak ---- uClibc-0.9.30.1.orig/Rules.mak 2009-03-02 22:10:04.000000000 +0100 -+++ uClibc-0.9.30.1/Rules.mak 2009-06-18 16:02:34.000000000 +0200 -@@ -150,9 +150,10 @@ - # Flags in OPTIMIZATION are used only for non-debug builds - OPTIMIZATION:= - # Use '-Os' optimization if available, else use -O2, allow Config to override --OPTIMIZATION+=$(call check_gcc,-Os,-O2) -+# disable, let OpenADK do the optimization -+#OPTIMIZATION+=$(call check_gcc,-Os,-O2) - # Use the gcc 3.4 -funit-at-a-time optimization when available --OPTIMIZATION+=$(call check_gcc,-funit-at-a-time,) -+#OPTIMIZATION+=$(call check_gcc,-funit-at-a-time,) - - GCC_MAJOR_VER?=$(shell $(CC) -dumpversion | cut -d . -f 1) - #GCC_MINOR_VER?=$(shell $(CC) -dumpversion | cut -d . -f 2) -@@ -547,7 +548,7 @@ - - LDFLAGS:=$(LDFLAGS_NOSTRIP) -Wl,-z,defs - ifeq ($(DODEBUG),y) --CFLAGS += -O0 -g3 -+CFLAGS += - else - CFLAGS += $(OPTIMIZATION) $(XARCH_CFLAGS) - endif diff --git a/toolchain/uClibc/patches/extension-insteadof-inline.patch b/toolchain/uClibc/patches/extension-insteadof-inline.patch deleted file mode 100644 index bd3a720e9..000000000 --- a/toolchain/uClibc/patches/extension-insteadof-inline.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/mips/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h ---- uClibc-0.9.30.1.orig/ldso/ldso/mips/dl-sysdep.h 2008-09-15 18:36:11.000000000 +0200 -+++ uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h 2009-06-21 19:08:44.487613137 +0200 -@@ -163,22 +163,25 @@ - - #define OFFSET_GP_GOT 0x7ff0 - --static __inline__ ElfW(Addr) * --elf_mips_got_from_gpreg (ElfW(Addr) gpreg) --{ -- /* FIXME: the offset of gp from GOT may be system-dependent. */ -- return (ElfW(Addr) *) (gpreg - OFFSET_GP_GOT); --} -+#define elf_mips_got_from_gpreg(gpreg) __extension__({ \ -+ ElfW(Addr) *elf_mips_got_from_gpreg_res; \ -+ \ -+ /* FIXME: the offset of gp from GOT may be system-dependent. */ \ -+ elf_mips_got_from_gpreg_res = gpreg - OFFSET_GP_GOT; \ -+ (elf_mips_got_from_gpreg_res); \ -+}) - - /* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. We assume its $gp points to the primary GOT. */ --static __inline__ ElfW(Addr) --elf_machine_dynamic (void) --{ -- register ElfW(Addr) gp __asm__ ("$28"); -- return *elf_mips_got_from_gpreg (gp); --} -+#define elf_machine_dynamic() __extension__({ \ -+ register ElfW(Addr) elf_machine_dynamic_gp __asm__("$28"); \ -+ ElfW(Addr) elf_machine_dynamic_res; \ -+ \ -+ elf_machine_dynamic_res = *elf_mips_got_from_gpreg( \ -+ elf_machine_dynamic_gp); \ -+ (elf_machine_dynamic_res); \ -+}) - - #define STRINGXP(X) __STRING(X) - #define STRINGXV(X) STRINGV_(X) -@@ -192,21 +195,20 @@ - #endif - - /* Return the run-time load address of the shared object. */ --static __inline__ ElfW(Addr) --elf_machine_load_address (void) --{ -- ElfW(Addr) addr; -- __asm__ (" .set noreorder\n" -- " " STRINGXP (PTR_LA) " %0, 0f\n" -- " bltzal $0, 0f\n" -- " nop\n" -- "0: " STRINGXP (PTR_SUBU) " %0, $31, %0\n" -- " .set reorder\n" -- : "=r" (addr) -- : /* No inputs */ -- : "$31"); -- return addr; --} -+#define elf_machine_load_address() __extension__({ \ -+ ElfW(Addr) elf_machine_load_address_addr; \ -+ \ -+ __asm__ (" .set noreorder\n" \ -+ " " STRINGXP (PTR_LA) " %0, 0f\n" \ -+ " bltzal $0, 0f\n" \ -+ " nop\n" \ -+ "0: " STRINGXP (PTR_SUBU) " %0, $31, %0\n" \ -+ " .set reorder\n" \ -+ : "=r" (elf_machine_load_address_addr) \ -+ : /* No inputs */ \ -+ : "$31"); \ -+ (elf_machine_load_address_addr); \ -+}) - - static __inline__ void - elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr, diff --git a/toolchain/uClibc/patches/mips64.patch b/toolchain/uClibc/patches/mips64.patch deleted file mode 100644 index 70fcc24e6..000000000 --- a/toolchain/uClibc/patches/mips64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur uClibc-0.9.30.1.orig/Rules.mak uClibc-0.9.30.1/Rules.mak ---- uClibc-0.9.30.1.orig/Rules.mak 2009-03-02 22:10:04.000000000 +0100 -+++ uClibc-0.9.30.1/Rules.mak 2009-05-28 15:08:37.000000000 +0200 -@@ -292,7 +292,7 @@ - CPU_CFLAGS-$(CONFIG_MIPS_ISA_4)+=-mips4 -mtune=mips4 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS32)+=-mips32 -mtune=mips32 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS32R2)+=-march=mips32r2 -mtune=mips32r2 -- CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS64)+=-mips64 -mtune=mips32 -+ CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS64)+=-mips64 - ifeq ($(strip $(ARCH_BIG_ENDIAN)),y) - CPU_LDFLAGS-$(CONFIG_MIPS_N64_ABI)+=-Wl,-melf64btsmip - CPU_LDFLAGS-$(CONFIG_MIPS_O32_ABI)+=-Wl,-melf32btsmip diff --git a/toolchain/uClibc/patches/null-pointer.patch b/toolchain/uClibc/patches/null-pointer.patch deleted file mode 100644 index e77cd72b8..000000000 --- a/toolchain/uClibc/patches/null-pointer.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur uClibc-0.9.30.1.orig/libc/inet/getaddrinfo.c uClibc-0.9.30.1/libc/inet/getaddrinfo.c ---- uClibc-0.9.30.1.orig/libc/inet/getaddrinfo.c 2009-02-26 13:49:14.000000000 +0100 -+++ uClibc-0.9.30.1/libc/inet/getaddrinfo.c 2009-06-14 17:46:45.000000000 +0200 -@@ -187,6 +187,8 @@ - } - - for (runp = ifa; runp != NULL; runp = runp->ifa_next) { -+ if (runp->ifa_addr == NULL) -+ continue; - #if defined __UCLIBC_HAS_IPV4__ - if (runp->ifa_addr->sa_family == PF_INET) - seen |= SEEN_IPV4; |