mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain
@ 2012-02-12 12:10 Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 1/7] add fake build type to HOST_CROSS_AUTOCONF Andreas Bießmann
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

This series has an generic part to build a cross toolchain where build ==
host == target (add fake build type to HOST_CROSS_AUTOCONF) which is useful
for all toolchains.

The rest of this series is a 'pure64' x86_64-unknown-linux-gnu glibc
toolchain. The pure64 means that glibc's slibdir is set to /lib instead of
/lib64. Since we build for embedded systems it is not necessary to have
multilib-able toolchains. Additionally the '/lib - only' approach fits best to
current ptxdist way of building the rootfs.

Andreas Bießmann (7):
  add fake build type to HOST_CROSS_AUTOCONF
  architecture.in: add x86_64 arch
  add x86_64-unknown-linux-gnu configuration
  fixup_ptxconfigs.sh: add x86_64 target
  glibc-headers: prepare for x86_64 build
  gcc-4.6.2: add pure64 patch for x86_64
  glibc: force slibdir to /lib

 fixup_ptxconfigs.sh                                |    6 +
 .../0304-gcc-i386-use-pure64-CLFS-patch.patch      |   47 ++++++++
 patches/gcc-4.6.2/series                           |    3 +-
 ...utils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig |  118 ++++++++++++++++++++
 rules/architecture.in                              |    4 +
 rules/cross-gcc.make                               |    1 +
 rules/glibc-crt.make                               |    4 +-
 rules/glibc-first.make                             |    1 +
 rules/glibc-headers.make                           |    3 +
 rules/glibc.make                                   |    3 +
 rules/pre/toolchain.make                           |    2 +
 11 files changed, 189 insertions(+), 3 deletions(-)
 create mode 100644 patches/gcc-4.6.2/0304-gcc-i386-use-pure64-CLFS-patch.patch
 create mode 100644 ptxconfigs/x86_64-unknown-linux-gnu_gcc-4.6.2_glibc-2.14.1_binutils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig

-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 1/7] add fake build type to HOST_CROSS_AUTOCONF
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 2/7] architecture.in: add x86_64 arch Andreas Bießmann
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

If we build a cross toolchain where build == host == target the resulting
tools lack the host-tripplet before the tool name.
This patch introduce a '--build' autoconf switch with guessed (and modified)
build host tripplet from ptxdist to supress the generic autoconf guessing
mechanism in respective tools.

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 rules/cross-gcc.make     |    1 +
 rules/pre/toolchain.make |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/rules/cross-gcc.make b/rules/cross-gcc.make
index 0923024..88c2376 100644
--- a/rules/cross-gcc.make
+++ b/rules/cross-gcc.make
@@ -68,6 +68,7 @@ CROSS_GCC_ENV	:= $(PTX_HOST_ENV)
 # autoconf
 #
 CROSS_GCC_AUTOCONF_COMMON := \
+	$(PTX_HOST_CROSS_AUTOCONF_BUILD) \
 	$(PTX_HOST_CROSS_AUTOCONF_HOST) \
 	$(PTX_HOST_CROSS_AUTOCONF_TARGET) \
 	\
diff --git a/rules/pre/toolchain.make b/rules/pre/toolchain.make
index ac06e43..47bd212 100644
--- a/rules/pre/toolchain.make
+++ b/rules/pre/toolchain.make
@@ -32,6 +32,7 @@ PTX_HOST_AUTOCONF_HOST				:= --host=$(PTX_CANADIAN_CROSS_HOST)
 PTX_HOST_CROSS_AUTOCONF_HOST			:= --host=$(PTX_CANADIAN_CROSS_HOST)
 endif
 
+PTX_HOST_CROSS_AUTOCONF_BUILD			:= --build=$(GNU_HOST)
 PTX_HOST_CROSS_AUTOCONF_TARGET			:= --target=$(PTX_TOUPLE_TARGET)
 
 PTX_HOST_AUTOCONF_PREFIX			:= --prefix=$(PTXCONF_SYSROOT_HOST)
@@ -42,6 +43,7 @@ PTX_HOST_AUTOCONF := \
 	$(PTX_HOST_AUTOCONF_PREFIX)
 
 PTX_HOST_CROSS_AUTOCONF := \
+	$(PTX_HOST_CROSS_AUTOCONF_BUILD) \
 	$(PTX_HOST_CROSS_AUTOCONF_HOST) \
 	$(PTX_HOST_CROSS_AUTOCONF_TARGET) \
 	$(PTX_HOST_CROSS_AUTOCONF_PREFIX)
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 2/7] architecture.in: add x86_64 arch
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 1/7] add fake build type to HOST_CROSS_AUTOCONF Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 3/7] add x86_64-unknown-linux-gnu configuration Andreas Bießmann
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 rules/architecture.in |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/rules/architecture.in b/rules/architecture.in
index 3308ef0..fe3c9f7 100644
--- a/rules/architecture.in
+++ b/rules/architecture.in
@@ -16,6 +16,9 @@ choice
 	config ARCH_I386
 		bool "i386   "
 
+	config ARCH_X86_64
+		bool "x86_64 "
+
 	config ARCH_AVR
 		bool "AVR-8  "
 
@@ -35,6 +38,7 @@ config ARCH
 	default "avr32"		if ARCH_AVR32
 	default "m68k"		if ARCH_M68K
 	default "i386"		if ARCH_I386
+	default "x86_64"	if ARCH_X86_64
 	default "mips"		if ARCH_MIPS
 	default "powerpc"	if ARCH_POWERPC
 
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 3/7] add x86_64-unknown-linux-gnu configuration
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 1/7] add fake build type to HOST_CROSS_AUTOCONF Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 2/7] architecture.in: add x86_64 arch Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 4/7] fixup_ptxconfigs.sh: add x86_64 target Andreas Bießmann
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 ...utils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig |  118 ++++++++++++++++++++
 1 files changed, 118 insertions(+), 0 deletions(-)
 create mode 100644 ptxconfigs/x86_64-unknown-linux-gnu_gcc-4.6.2_glibc-2.14.1_binutils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig

diff --git a/ptxconfigs/x86_64-unknown-linux-gnu_gcc-4.6.2_glibc-2.14.1_binutils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig b/ptxconfigs/x86_64-unknown-linux-gnu_gcc-4.6.2_glibc-2.14.1_binutils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig
new file mode 100644
index 0000000..d095e7e
--- /dev/null
+++ b/ptxconfigs/x86_64-unknown-linux-gnu_gcc-4.6.2_glibc-2.14.1_binutils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig
@@ -0,0 +1,118 @@
+#
+# Automatically generated make config: don't edit
+# PTXdist 2012.01.0
+#
+PTXCONF__ptxconfig_MAGIC__=y
+PTXCONF_BUILD_TOOLCHAIN=y
+PTXCONF_NO_PLATFORM=y
+PTXCONF_PROJECT="OSELAS.Toolchain-2011.11.0"
+
+#
+# ----------------------------------
+#
+# PTXCONF_ARCH_ARM is not set
+# PTXCONF_ARCH_M68K is not set
+# PTXCONF_ARCH_MIPS is not set
+# PTXCONF_ARCH_POWERPC is not set
+# PTXCONF_ARCH_I386 is not set
+PTXCONF_ARCH_X86_64=y
+# PTXCONF_ARCH_AVR is not set
+# PTXCONF_ARCH_AVR32 is not set
+PTXCONF_ARCH="x86_64"
+PTXCONF_GNU_TARGET="x86_64-unknown-linux-gnu"
+PTXCONF_SIZEOF_LONG_DOUBLE="16"
+
+#
+# ----------------------------------
+#
+PTXCONF_LIBC_HEADERS=y
+PTXCONF_LIBC_FIRST=y
+PTXCONF_LIBC=y
+PTXCONF_LIBC_GLIBC=y
+# PTXCONF_LIBC_UCLIBC is not set
+# PTXCONF_LIBC_NEWLIB is not set
+# PTXCONF_LIBC_MINGW is not set
+# PTXCONF_LIBC_AVR is not set
+PTXCONF_TOOLCHAIN_ENABLE_SYSROOT=y
+PTXCONF_TOOLCHAIN_CONFIG_SYSROOT="--with-sysroot=${SYSROOT}"
+PTXCONF_TOOLCHAIN_DISABLE_MULTILIB=y
+PTXCONF_TOOLCHAIN_CONFIG_MULTILIB="--disable-multilib"
+PTXCONF_GLIBC_HEADERS=y
+PTXCONF_GLIBC_CRT=y
+PTXCONF_GLIBC_FIRST=y
+PTXCONF_GLIBC=y
+PTXCONF_GLIBC_VERSION="2.14.1"
+PTXCONF_GLIBC_MD5="5869a2620c6917dd392289864c6ce595"
+PTXCONF_GLIBC_TIMESTAMP=""
+PTXCONF_GLIBC_SERIES=""
+PTXCONF_GLIBC_ENABLE_KERNEL="2.6.23"
+PTXCONF_GLIBC_CONFIG_EXTRA=""
+PTXCONF_GLIBC_CONFIG_EXTRA_CROSS=""
+PTXCONF_GLIBC_HEADERS_FAKE_CROSS=""
+# PTXCONF_GLIBC_ADDON_LINUXTHREADS is not set
+PTXCONF_GLIBC_ADDON_NPTL=y
+PTXCONF_GLIBC_TLS=y
+PTXCONF_GLIBC_EXTRA_ADDONS=""
+# PTXCONF_GLIBC_PORTS is not set
+PTXCONF_CROSS_BINUTILS=y
+PTXCONF_CROSS_BINUTILS_VERSION="2.21.1a"
+PTXCONF_CROSS_BINUTILS_MD5="bde820eac53fa3a8d8696667418557ad"
+PTXCONF_KERNEL_HEADERS=y
+PTXCONF_KERNEL_HEADERS_VERSION="2.6.39"
+PTXCONF_KERNEL_HEADERS_MD5="1aab7a741abe08d42e8eccf20de61e05"
+PTXCONF_KERNEL_HEADERS_SANITIZED=y
+PTXCONF_CROSS_GCC=y
+PTXCONF_CROSS_GCC_VERSION="4.6.2"
+PTXCONF_CROSS_GCC_MD5="028115c4fbfb6cfd75d6369f4a90d87e"
+PTXCONF_CROSS_GCC_DL_VERSION="${PTXCONF_CROSS_GCC_VERSION}"
+PTXCONF_CROSS_GCC_PKGVERSION="${PTXCONF_PROJECT}"
+PTXCONF_CROSS_GCC_43=y
+PTXCONF_CROSS_GCC_45=y
+PTXCONF_CROSS_GCC_SERIES=""
+PTXCONF_CROSS_GCC_CONFIG_EXTRA=""
+
+#
+# Additional supported languages:
+#
+PTXCONF_CROSS_GCC_LANG_C=y
+PTXCONF_CROSS_GCC_LANG_CXX=y
+# PTXCONF_CROSS_GCC_LANG_FORTRAN is not set
+# PTXCONF_CROSS_GCC_LANG_JAVA is not set
+PTXCONF_CROSS_GCC_ENABLE_CXA_ATEXIT=y
+PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT="--enable-__cxa_atexit"
+PTXCONF_CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS=y
+PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS="--disable-sjlj-exceptions"
+PTXCONF_CROSS_GCC_DISABLE_LIBSSP=y
+PTXCONF_CROSS_GCC_CONFIG_LIBSSP="--disable-libssp"
+PTXCONF_CROSS_GCC_ENABLE_SHARED=y
+PTXCONF_CROSS_GCC_CONFIG_SHARED="--enable-shared"
+PTXCONF_CROSS_GCC_THREADS_POSIX=y
+PTXCONF_CROSS_GCC_THREADS="posix"
+PTXCONF_CROSS_GCC_FIRST=y
+PTXCONF_CROSS_GDB=y
+PTXCONF_CROSS_GDB_VERSION="7.2"
+PTXCONF_CROSS_GDB_MD5="64260e6c56979ee750a01055f16091a5"
+PTXCONF_CROSS_TOOLCHAIN=y
+PTXCONF_HOST_GMP=y
+PTXCONF_HOST_MPC=y
+PTXCONF_HOST_MPFR=y
+PTXCONF_HOST_ZLIB=y
+PTXCONF_HOST_LIBELF=y
+
+#
+# ----------------------------------
+#
+
+#
+# misc                        
+#
+PTXCONF_PREFIX="/opt"
+PTXCONF_PREFIX_KERNEL="-sanitized"
+PTXCONF_PREFIX_TCID="gcc-${PTXCONF_CROSS_GCC_VERSION}${PTXCONF_PREFIX_JAVA}-glibc-${PTXCONF_GLIBC_VERSION}-binutils-${PTXCONF_CROSS_BINUTILS_VERSION}-kernel-${PTXCONF_KERNEL_HEADERS_VERSION}${PTXCONF_PREFIX_KERNEL}"
+PTXCONF_SYSROOT_HOST="${PTXDIST_PLATFORMDIR}/sysroot-host"
+PTXCONF_SYSROOT_CROSS="${PTX_AUTOBUILD_DESTDIR}${PTXCONF_PREFIX}/${PTXCONF_PROJECT}/${PTXCONF_GNU_TARGET}/${PTXCONF_PREFIX_TCID}"
+PTXCONF_SYSROOT_TARGET="${PTXCONF_SYSROOT_CROSS}/sysroot-${PTXCONF_GNU_TARGET}"
+PTXCONF_PLATFORM="${PTXCONF_GNU_TARGET}-${PTXCONF_PREFIX_TCID}"
+PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
+# PTXCONF_TOOLCHAIN_DEBUG is not set
+PTXCONF_CONFIGFILE_VERSION="2012.01.0"
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 4/7] fixup_ptxconfigs.sh: add x86_64 target
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
                   ` (2 preceding siblings ...)
  2012-02-12 12:10 ` [ptxdist] [PATCH 3/7] add x86_64-unknown-linux-gnu configuration Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 5/7] glibc-headers: prepare for x86_64 build Andreas Bießmann
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 fixup_ptxconfigs.sh |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/fixup_ptxconfigs.sh b/fixup_ptxconfigs.sh
index da5ecd0..e6f0f7a 100755
--- a/fixup_ptxconfigs.sh
+++ b/fixup_ptxconfigs.sh
@@ -120,6 +120,9 @@ fixup()
 	avr)
 	    PTXCONF_ARCH_AVR=y
 	    ;;
+	x86_64*)
+	    PTXCONF_ARCH_X86_64=y
+	    ;;
 	*)
 	    echo "unsupported GNU_TARGET: ${PTXCONF_GNU_TARGET}"
 	    exit 1
@@ -195,6 +198,9 @@ fixup()
 	    PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-arch=i686"
 	    ;;
 
+	x86_64-unknown-linux-gnu)
+	    ;;
+
 	mipsel-softfloat-linux-gnu)
 	    PTXCONF_CROSS_GCC_CONFIG_EXTRA="--with-float=soft"
 	    PTXCONF_GLIBC_CONFIG_EXTRA="--without-fp"
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 5/7] glibc-headers: prepare for x86_64 build
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
                   ` (3 preceding siblings ...)
  2012-02-12 12:10 ` [ptxdist] [PATCH 4/7] fixup_ptxconfigs.sh: add x86_64 target Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 6/7] gcc-4.6.2: add pure64 patch for x86_64 Andreas Bießmann
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 rules/glibc-headers.make |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/rules/glibc-headers.make b/rules/glibc-headers.make
index 205e292..e4627eb 100644
--- a/rules/glibc-headers.make
+++ b/rules/glibc-headers.make
@@ -57,6 +57,7 @@ GLIBC_HEADERS_ENV  := \
 	\
 	libc_cv_asm_cfi_directive_sections=yes \
 	libc_cv_asm_cfi_directives=yes \
+	libc_cv_asm_cfi_personality=yes \
 	libc_cv_asm_protected_directive=yes \
 	libc_cv_asm_symver_directive=yes \
 	libc_cv_broken_alias_attribute=no \
@@ -72,6 +73,8 @@ GLIBC_HEADERS_ENV  := \
 	\
 	libc_cv_386_tls=yes \
 	\
+	libc_cv_x86_64_tls=yes \
+	\
 	libc_cv_arm_tls=yes \
 	\
 	libc_cv_mips_tls=yes \
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 6/7] gcc-4.6.2: add pure64 patch for x86_64
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
                   ` (4 preceding siblings ...)
  2012-02-12 12:10 ` [ptxdist] [PATCH 5/7] glibc-headers: prepare for x86_64 build Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-12 12:10 ` [ptxdist] [PATCH 7/7] glibc: force slibdir to /lib Andreas Bießmann
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

The pure64 patch set the ld loader path to /lib instead of /lib64 for
x86_64 builds.

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 .../0304-gcc-i386-use-pure64-CLFS-patch.patch      |   47 ++++++++++++++++++++
 patches/gcc-4.6.2/series                           |    3 +-
 2 files changed, 49 insertions(+), 1 deletions(-)
 create mode 100644 patches/gcc-4.6.2/0304-gcc-i386-use-pure64-CLFS-patch.patch

diff --git a/patches/gcc-4.6.2/0304-gcc-i386-use-pure64-CLFS-patch.patch b/patches/gcc-4.6.2/0304-gcc-i386-use-pure64-CLFS-patch.patch
new file mode 100644
index 0000000..9e3f822
--- /dev/null
+++ b/patches/gcc-4.6.2/0304-gcc-i386-use-pure64-CLFS-patch.patch
@@ -0,0 +1,47 @@
+From: =?UTF-8?q?Andreas=20Bie=C3=9Fmann?= <andreas@biessmann.de>
+Date: Thu, 9 Feb 2012 13:59:12 +0100
+Subject: [PATCH] gcc/i386: use pure64 CLFS patch
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is a modified version of
+http://trac.cross-lfs.org/browser/patches/gcc-4.6.0-pure64-1.patch to use /lib
+instead of /lib64 for x86_64.
+This will only work as generic patch, if we do _not_ build multilib x86
+toolchains.
+
+Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
+---
+ gcc/config/i386/linux64.h |    4 ++--
+ gcc/config/i386/t-linux64 |    2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index 103ab0c..a3aab5a 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -62,8 +62,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ 
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
+index 5d5a476..2a999f1 100644
+--- a/gcc/config/i386/t-linux64
++++ b/gcc/config/i386/t-linux64
+@@ -25,7 +25,7 @@
+ 
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32 
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+ 
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/patches/gcc-4.6.2/series b/patches/gcc-4.6.2/series
index e4ed42c..a39fc16 100644
--- a/patches/gcc-4.6.2/series
+++ b/patches/gcc-4.6.2/series
@@ -16,4 +16,5 @@
 0301-flatten-switch-stmt-into-if-else-chain-for-Os.patch
 0302-libiberty-pic.patch
 0303-libstdc-pic.patch
-# 19cc4f8bfbc9cbec87de32579a9f88fd  - git-ptx-patches magic
+0304-gcc-i386-use-pure64-CLFS-patch.patch
+# fafe6c53dbc3db9d6019dec03d36185a  - git-ptx-patches magic
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ptxdist] [PATCH 7/7] glibc: force slibdir to /lib
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
                   ` (5 preceding siblings ...)
  2012-02-12 12:10 ` [ptxdist] [PATCH 6/7] gcc-4.6.2: add pure64 patch for x86_64 Andreas Bießmann
@ 2012-02-12 12:10 ` Andreas Bießmann
  2012-02-13  5:58 ` [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Klaus.Hachmeister
  2012-03-25 10:11 ` Michael Olbrich
  8 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-12 12:10 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
---
 rules/glibc-crt.make   |    4 ++--
 rules/glibc-first.make |    1 +
 rules/glibc.make       |    3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/rules/glibc-crt.make b/rules/glibc-crt.make
index f597787..93ec9c5 100644
--- a/rules/glibc-crt.make
+++ b/rules/glibc-crt.make
@@ -46,8 +46,8 @@ GLIBC_CRT_ENV := \
 	ac_cv_path_GREP=grep \
 	ac_cv_sizeof_long_double=$(PTXCONF_SIZEOF_LONG_DOUBLE) \
 	libc_cv_c_cleanup=yes \
-	libc_cv_forced_unwind=yes
-
+	libc_cv_forced_unwind=yes \
+	libc_cv_slibdir='/lib'
 
 #
 # autoconf
diff --git a/rules/glibc-first.make b/rules/glibc-first.make
index caeaa11..1a6523a 100644
--- a/rules/glibc-first.make
+++ b/rules/glibc-first.make
@@ -49,6 +49,7 @@ GLIBC_FIRST_ENV := \
 	libc_cv_c_cleanup=yes \
 	libc_cv_forced_unwind=yes \
 	libc_cv_fpie=yes \
+	libc_cv_slibdir='/lib' \
 	libc_cv_ssp=yes \
 	libc_cv_visibility_attribute=yes \
 	libc_cv_broken_visibility_attribute=no \
diff --git a/rules/glibc.make b/rules/glibc.make
index 1e80b9a..70ca644 100644
--- a/rules/glibc.make
+++ b/rules/glibc.make
@@ -73,6 +73,9 @@ GLIBC_PATH := PATH=$(CROSS_PATH)
 GLIBC_ENV := \
 	CC=$(CROSS_CC) \
 	BUILD_CC=$(HOSTCC) \
+	\
+	libc_cv_slibdir='/lib' \
+	\
 	ac_cv_sizeof_long_double=$(PTXCONF_SIZEOF_LONG_DOUBLE)
 
 
-- 
1.7.9


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
                   ` (6 preceding siblings ...)
  2012-02-12 12:10 ` [ptxdist] [PATCH 7/7] glibc: force slibdir to /lib Andreas Bießmann
@ 2012-02-13  5:58 ` Klaus.Hachmeister
  2012-02-13  7:36   ` Andreas Bießmann
  2012-03-25 10:11 ` Michael Olbrich
  8 siblings, 1 reply; 11+ messages in thread
From: Klaus.Hachmeister @ 2012-02-13  5:58 UTC (permalink / raw)
  To: PTXdsit ML; +Cc: OSELAS ML

Is it possible to have a toolchain

host=   x86_32
target= x86_64

?

The gcc should run on 32 bit system, but should generate 64 bit code. ("crosscompiler")
The libraries for the target should be 64 bit. ('pure64' x86_64-unknown-linux-gnu glibc)
/lib only instead of /lib and/or /lib64 on the target would be fine.


Mit freundlichen Gruessen / Best regards

Klaus Hachmeister
Research & Development
  

> -----Ursprüngliche Nachricht-----
> Von: ptxdist-bounces@pengutronix.de [mailto:ptxdist-
> bounces@pengutronix.de] Im Auftrag von Andreas Bießmann
> Gesendet: Sonntag, 12. Februar 2012 13:10
> An: PTXdsit ML
> Cc: OSELAS ML
> Betreff: [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-
> linux-gnu glibc toolchain
> 
> This series has an generic part to build a cross toolchain where build
> ==
> host == target (add fake build type to HOST_CROSS_AUTOCONF) which is
> useful
> for all toolchains.
> 
> The rest of this series is a 'pure64' x86_64-unknown-linux-gnu glibc
> toolchain. The pure64 means that glibc's slibdir is set to /lib instead
> of
> /lib64. Since we build for embedded systems it is not necessary to have
> multilib-able toolchains. Additionally the '/lib - only' approach fits
> best to
> current ptxdist way of building the rootfs.
> 
> Andreas Bießmann (7):

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain
  2012-02-13  5:58 ` [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Klaus.Hachmeister
@ 2012-02-13  7:36   ` Andreas Bießmann
  0 siblings, 0 replies; 11+ messages in thread
From: Andreas Bießmann @ 2012-02-13  7:36 UTC (permalink / raw)
  To: ptxdist; +Cc: OSELAS ML, Klaus.Hachmeister

Dear Klaus Hachmeister,

On 13.02.12 06:58, Klaus.Hachmeister@l-3com.com wrote:
> Is it possible to have a toolchain
> 
> host=   x86_32
> target= x86_64

current OSELAS.Toolchain require build = host (yes canadian builds are
covered by rules/toolchain.make, but no toolchain utilizes it),
therefore should be possible (and is a normal use-case) to have a build
= host = x86_32 to build a target = x86_64 cross toolchain.

But beware, these patches are the first shot for x86_64 target. The
resulting toolchain needs some testing and may fail in some cases,
though it can build a minimalistic rootfs.

best regards

Andreas Bießmann

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain
  2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
                   ` (7 preceding siblings ...)
  2012-02-13  5:58 ` [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Klaus.Hachmeister
@ 2012-03-25 10:11 ` Michael Olbrich
  8 siblings, 0 replies; 11+ messages in thread
From: Michael Olbrich @ 2012-03-25 10:11 UTC (permalink / raw)
  To: ptxdist, OSELAS ML

On Sun, Feb 12, 2012 at 01:10:21PM +0100, Andreas Bießmann wrote:
> This series has an generic part to build a cross toolchain where build ==
> host == target (add fake build type to HOST_CROSS_AUTOCONF) which is useful
> for all toolchains.
> 
> The rest of this series is a 'pure64' x86_64-unknown-linux-gnu glibc
> toolchain. The pure64 means that glibc's slibdir is set to /lib instead of
> /lib64. Since we build for embedded systems it is not necessary to have
> multilib-able toolchains. Additionally the '/lib - only' approach fits best to
> current ptxdist way of building the rootfs.

I've applied the whole series. I had to add --host=$(GNU_HOST) as well, but
that shouldn't break anything for you. Please test.

Michael

> Andreas Bießmann (7):
>   add fake build type to HOST_CROSS_AUTOCONF
>   architecture.in: add x86_64 arch
>   add x86_64-unknown-linux-gnu configuration
>   fixup_ptxconfigs.sh: add x86_64 target
>   glibc-headers: prepare for x86_64 build
>   gcc-4.6.2: add pure64 patch for x86_64
>   glibc: force slibdir to /lib
> 
>  fixup_ptxconfigs.sh                                |    6 +
>  .../0304-gcc-i386-use-pure64-CLFS-patch.patch      |   47 ++++++++
>  patches/gcc-4.6.2/series                           |    3 +-
>  ...utils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig |  118 ++++++++++++++++++++
>  rules/architecture.in                              |    4 +
>  rules/cross-gcc.make                               |    1 +
>  rules/glibc-crt.make                               |    4 +-
>  rules/glibc-first.make                             |    1 +
>  rules/glibc-headers.make                           |    3 +
>  rules/glibc.make                                   |    3 +
>  rules/pre/toolchain.make                           |    2 +
>  11 files changed, 189 insertions(+), 3 deletions(-)
>  create mode 100644 patches/gcc-4.6.2/0304-gcc-i386-use-pure64-CLFS-patch.patch
>  create mode 100644 ptxconfigs/x86_64-unknown-linux-gnu_gcc-4.6.2_glibc-2.14.1_binutils-2.21.1a_kernel-2.6.39-sanitized.ptxconfig
> 
> -- 
> 1.7.9
> 
> 
> -- 
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-03-25 10:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-12 12:10 [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 1/7] add fake build type to HOST_CROSS_AUTOCONF Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 2/7] architecture.in: add x86_64 arch Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 3/7] add x86_64-unknown-linux-gnu configuration Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 4/7] fixup_ptxconfigs.sh: add x86_64 target Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 5/7] glibc-headers: prepare for x86_64 build Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 6/7] gcc-4.6.2: add pure64 patch for x86_64 Andreas Bießmann
2012-02-12 12:10 ` [ptxdist] [PATCH 7/7] glibc: force slibdir to /lib Andreas Bießmann
2012-02-13  5:58 ` [ptxdist] [PATCH 0/7] OSELAS.Toolchain: add x86_64-unknown-linux-gnu glibc toolchain Klaus.Hachmeister
2012-02-13  7:36   ` Andreas Bießmann
2012-03-25 10:11 ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox