* [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