From 186c1bd82b6a6a1b0fcd64456088ca50e37784d5 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 17 Mar 2014 08:21:53 +0100 Subject: fixups for x86_64 x32 toolchain, x86_64 32 still problematic - add a musl patch to recognize x86_64-foo-muslx32 - rework multilib configuration - remove explicit sjlj gcc configure, as suggested by the gcc docs - fix strace for x32 --- package/binutils/Makefile | 6 +++--- package/glibc/Makefile | 6 +++--- package/strace/patches/patch-desc_c | 14 +++++++++++++- 3 files changed, 19 insertions(+), 7 deletions(-) (limited to 'package') diff --git a/package/binutils/Makefile b/package/binutils/Makefile index c23bac585..5734e198d 100644 --- a/package/binutils/Makefile +++ b/package/binutils/Makefile @@ -25,10 +25,10 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,BINUTILS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,LIBBFD,libbfd,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_LIBBFD},${PKGSC_LIBBFD},${PKG_OPTS})) -ifeq ($(ADK_TARGET_WITH_MULTILIB),y) -CONFIGURE_ARGS+= --enable-multilib -else +ifeq ($(ADK_LINUX_SH)$(ADK_LINUX_X86_64),) CONFIGURE_ARGS+= --disable-multilib +else +CONFIGURE_ARGS+= --enable-multilib endif TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS)) diff --git a/package/glibc/Makefile b/package/glibc/Makefile index 17c49f3af..92ccf8cd4 100644 --- a/package/glibc/Makefile +++ b/package/glibc/Makefile @@ -31,10 +31,10 @@ INSTALL_STYLE:= manual # compile nothing, glibc is already build in toolchain directory do-install: ${INSTALL_DIR} ${IDIR_GLIBC}/$(ADK_TARGET_LIBC_PATH) - $(CP) $(STAGING_TARGET_DIR)/lib/ld*.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH) + $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_PATH)/ld*.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH) for file in libc libcrypt libdl libm libnsl libresolv libutil libnss_compat libnss_dns libnss_files; do \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \ - $(CP) $(STAGING_TARGET_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \ + $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_PATH)/$$file.so* $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \ + $(CP) $(STAGING_TARGET_DIR)/$(ADK_TARGET_LIBC_PATH)/$$file-$(PKG_VERSION).so $(IDIR_GLIBC)/$(ADK_TARGET_LIBC_PATH); \ done ${INSTALL_DIR} $(IDIR_GLIBC)/usr/bin $(CP) $(STAGING_TARGET_DIR)/usr/bin/getconf $(IDIR_GLIBC)/usr/bin diff --git a/package/strace/patches/patch-desc_c b/package/strace/patches/patch-desc_c index 9cfb5f505..63a01023e 100644 --- a/package/strace/patches/patch-desc_c +++ b/package/strace/patches/patch-desc_c @@ -1,5 +1,5 @@ --- strace-4.8.orig/desc.c 2013-05-02 00:39:10.000000000 +0200 -+++ strace-4.8/desc.c 2014-02-25 15:16:36.000000000 +0100 ++++ strace-4.8/desc.c 2014-03-01 19:44:21.000000000 +0100 @@ -223,7 +223,7 @@ static const struct xlat perf_event_open { 0, NULL }, }; @@ -9,3 +9,15 @@ /* fcntl/lockf */ static void printflock64(struct tcb *tcp, long addr, int getlk) +@@ -255,7 +255,11 @@ printflock(struct tcb *tcp, long addr, i + #if SUPPORTED_PERSONALITIES > 1 + # ifdef X32 + if (current_personality == 0) { ++#if defined(__GLIBC__) + printflock64(tcp, addr, getlk); ++#else ++ printflock(tcp, addr, getlk); ++#endif + return; + } + # endif -- cgit v1.2.3