summaryrefslogtreecommitdiff
path: root/toolchain/uClibc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/uClibc')
-rw-r--r--toolchain/uClibc/Makefile36
-rw-r--r--toolchain/uClibc/Makefile.inc4
-rw-r--r--toolchain/uClibc/patches/devel-prefix-lib.patch78
-rw-r--r--toolchain/uClibc/patches/disable-opt-debug-cflags.patch25
-rw-r--r--toolchain/uClibc/patches/extension-insteadof-inline.patch77
-rw-r--r--toolchain/uClibc/patches/mips64.patch12
-rw-r--r--toolchain/uClibc/patches/null-pointer.patch12
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;