* PowerPC glibc patches @ 2013-10-14 12:46 Fernandes, Joao Moreira (EXT-Other PT/Amadora) 2013-11-15 20:07 ` Yann E. MORIN 0 siblings, 1 reply; 5+ messages in thread From: Fernandes, Joao Moreira (EXT-Other PT/Amadora) @ 2013-10-14 12:46 UTC (permalink / raw) To: crossgcc [-- Attachment #1: Type: text/plain, Size: 1068 bytes --] While trying to build a toolchain for a PowerPC system with gcc 4.8.1, binutils 2.22 and glibc 2.8, I faced some difficulties. Firstly, patch glibc/2.9/600-recent-binutils.patch also had to be applied to glibc 2.8; secondly, gcc 4.8 dropped -mnew-mnemonics/-mold-mnemonics options, so I had to remove -mnew-mnemonics from sysdeps/powerpc/Makefile - this is safe as -mnew-mnemonics is gcc's default since the early 90's - and this applies to glibc versions < 2.17; lastly, the patch from https://sourceware.org/ml/crossgcc/2008-10/msg00010.html had to be applied. A set of patches addressing all these issues is attached. After these changes I was able to successfully build the toolchain (config file attached). Enabling "Disable symbols versioning" in the "C Library" section made the build fail, but I didn't have the time to investigate why. Regards, João Fernandes R&D Engineer Mobile: +351 964 697 037 Address: Base Software Group Rua Irmãos Siemens, 1 - Edifício 9, Piso 1 2720-093 Alfragide Portugal joao.m.fernandes.ext@coriant.com [-- Attachment #2: glibc_patches.patch --] [-- Type: application/octet-stream, Size: 13021 bytes --] Only in patches-ori/: binutils Only in patches-ori/: cloog-ppl Only in patches-ori/: cygwin Only in patches-ori/: dmalloc Only in patches-ori/: duma Only in patches-ori/: eglibc Only in patches-ori/: ELFkickers Only in patches-ori/: gcc Only in patches-ori/: gdb diff -dur --unidirectional-new-file patches-ori/glibc/2.10.1/100-powerpc-no_new_mnemonics.patch patches/glibc/2.10.1/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.10.1/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.10.1/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.709234481 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.10.1: 900-march-i686.patch Only in patches-ori/glibc/2.10.1: 910-typedef-caddr.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.11/100-powerpc-no_new_mnemonics.patch patches/glibc/2.11/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.11/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.11/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.717234520 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.11: 900-march-i686.patch Only in patches-ori/glibc/2.11: 910-typedef-caddr.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.11.1/100-powerpc-no_new_mnemonics.patch patches/glibc/2.11.1/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.11.1/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.11.1/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.709234481 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.11.1: 900-march-i686.patch Only in patches-ori/glibc/2.11.1: 910-typedef-caddr.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.12.1/100-powerpc-no_new_mnemonics.patch patches/glibc/2.12.1/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.12.1/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.12.1/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.717234520 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.12.1: 900-march-i686.patch Only in patches-ori/glibc/2.12.1: 910-typedef-caddr.patch Only in patches-ori/glibc/2.12.1: 920-make-382.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.12.2/100-powerpc-no_new_mnemonics.patch patches/glibc/2.12.2/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.12.2/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.12.2/100-powerpc-no_new_mnemonics.patch 2013-10-14 13:26:18.670059529 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.12.2: 900-march-i686.patch Only in patches-ori/glibc/2.12.2: 910-typedef-caddr.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.13/100-powerpc-no_new_mnemonics.patch patches/glibc/2.13/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.13/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.13/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.717234520 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.13: 900-march-i686.patch Only in patches-ori/glibc/2.13: 910-typedef-caddr.patch Only in patches-ori/glibc/2.13: 950-initfini-ppc64.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.14/100-powerpc-no_new_mnemonics.patch patches/glibc/2.14/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.14/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.14/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.709234481 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.14: 950-initfini-ppc64.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.14.1/100-powerpc-no_new_mnemonics.patch patches/glibc/2.14.1/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.14.1/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.14.1/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.713234501 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc/2.14.1: 900-cpuid-include.patch Only in patches-ori/glibc/2.14.1: 910-asm-i686.patch Only in patches-ori/glibc/2.14.1: 950-initfini-ppc64.patch diff -dur --unidirectional-new-file patches-ori/glibc/2.15/100-powerpc-no_new_mnemonics.patch patches/glibc/2.15/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.15/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.15/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.713234501 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -dur --unidirectional-new-file patches-ori/glibc/2.16.0/100-powerpc-no_new_mnemonics.patch patches/glibc/2.16.0/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.16.0/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.16.0/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.721234540 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif Only in patches-ori/glibc: 2.5 Only in patches-ori/glibc: 2.5.1 Only in patches-ori/glibc: 2.6 Only in patches-ori/glibc: 2.6.1 Only in patches-ori/glibc: 2.7 diff -dur --unidirectional-new-file patches-ori/glibc/2.8/100-powerpc-no_new_mnemonics.patch patches/glibc/2.8/100-powerpc-no_new_mnemonics.patch --- patches-ori/glibc/2.8/100-powerpc-no_new_mnemonics.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.8/100-powerpc-no_new_mnemonics.patch 2013-10-14 11:09:05.721234540 +0100 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -dur --unidirectional-new-file patches-ori/glibc/2.8/110-powerpc-nptl_guard_sym.patch patches/glibc/2.8/110-powerpc-nptl_guard_sym.patch --- patches-ori/glibc/2.8/110-powerpc-nptl_guard_sym.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.8/110-powerpc-nptl_guard_sym.patch 2013-10-14 10:40:08.020617748 +0100 @@ -0,0 +1,9 @@ +--- glibc-2.8-ori/nptl/sysdeps/powerpc/tcb-offsets.sym 2013-10-14 10:06:43.566678198 +0100 ++++ glibc-2.8/nptl/sysdeps/powerpc/tcb-offsets.sym 2013-10-14 10:37:58.331974657 +0100 +@@ -15,4 +15,6 @@ + PID thread_offsetof (pid) + TID thread_offsetof (tid) + POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) ++#ifndef __ASSUME_PRIVATE_FUTEX + PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex) ++#endif diff -dur --unidirectional-new-file patches-ori/glibc/2.8/600-recent-binutils.patch patches/glibc/2.8/600-recent-binutils.patch --- patches-ori/glibc/2.8/600-recent-binutils.patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/glibc/2.8/600-recent-binutils.patch 2013-10-14 11:08:36.389089090 +0100 @@ -0,0 +1,37 @@ +diff -durN glibc-2.9.orig/configure glibc-2.9/configure +--- glibc-2.9.orig/configure 2010-05-18 23:47:23.000000000 +0200 ++++ glibc-2.9/configure 2010-05-18 23:50:04.000000000 +0200 +@@ -4534,7 +4534,7 @@ + ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 2.1[3-9]*) ++ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + +@@ -4597,7 +4597,7 @@ + ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 2.1[3-9]*) ++ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + +diff -durN glibc-2.9.orig/configure.in glibc-2.9/configure.in +--- glibc-2.9.orig/configure.in 2010-05-18 23:47:23.000000000 +0200 ++++ glibc-2.9/configure.in 2010-05-18 23:51:25.000000000 +0200 +@@ -844,10 +844,10 @@ + # Accept binutils 2.13 or newer. + AC_CHECK_PROG_VER(AS, $AS, --version, + [GNU assembler.* \([0-9]*\.[0-9.]*\)], +- [2.1[3-9]*], AS=: critic_missing="$critic_missing as") ++ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as") + AC_CHECK_PROG_VER(LD, $LD, --version, + [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], +- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld") ++ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld") + + # We need the physical current working directory. We cannot use the + # "pwd -P" shell builtin since that's not portable. Instead we try to Only in patches-ori/glibc: 2.9 Only in patches-ori/glibc: linuxthreads-2.3.6 Only in patches-ori/glibc: ports-2.10.1 Only in patches-ori/glibc: ports-2.12.1 Only in patches-ori/glibc: ports-2.13 Only in patches-ori/glibc: ports-2.6.1 Only in patches-ori/glibc: ports-2.7 Only in patches-ori/glibc: ports-2.9 Only in patches-ori/: gmp Only in patches-ori/: libelf Only in patches-ori/: linux Only in patches-ori/: ltrace Only in patches-ori/: mpc Only in patches-ori/: mpfr Only in patches-ori/: newlib Only in patches-ori/: ppl Only in patches-ori/: strace Only in patches-ori/: uClibc [-- Attachment #3: crosstool_ng-powerpc-softfp-gcc481-binutils222-glibc28.config --] [-- Type: application/octet-stream, Size: 12322 bytes --] # # Automatically generated make config: don't edit # crosstool-NG 1.19.0 Configuration # Tue Oct 8 10:00:35 2013 # CT_CONFIGURE_has_xz=y CT_CONFIGURE_has_svn=y CT_MODULES=y # # Paths and misc options # # # crosstool-NG behavior # # CT_OBSOLETE is not set CT_EXPERIMENTAL=y # CT_ALLOW_BUILD_AS_ROOT is not set # CT_DEBUG_CT is not set # # Paths # CT_LOCAL_TARBALLS_DIR="$HOME/src" CT_SAVE_TARBALLS=y CT_CUSTOM_LOCATION_ROOT_DIR="" CT_WORK_DIR="${CT_TOP_DIR}/.build" CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}" CT_INSTALL_DIR="${CT_PREFIX_DIR}" CT_RM_RF_PREFIX_DIR=y CT_REMOVE_DOCS=y CT_INSTALL_DIR_RO=y CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y # # Downloading # CT_FORBID_DOWNLOAD=y # # Extracting # # CT_FORCE_EXTRACT is not set CT_OVERIDE_CONFIG_GUESS_SUB=y # CT_ONLY_EXTRACT is not set CT_PATCH_BUNDLED=y # CT_PATCH_LOCAL is not set # CT_PATCH_BUNDLED_LOCAL is not set # CT_PATCH_LOCAL_BUNDLED is not set # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set # CT_PATCH_NONE is not set CT_PATCH_ORDER="bundled" # # Build behavior # CT_PARALLEL_JOBS=0 CT_LOAD="" CT_USE_PIPES=y CT_EXTRA_CFLAGS_FOR_BUILD="" CT_EXTRA_LDFLAGS_FOR_BUILD="" CT_EXTRA_CFLAGS_FOR_HOST="" CT_EXTRA_LDFLAGS_FOR_HOST="" # CT_CONFIG_SHELL_SH is not set # CT_CONFIG_SHELL_ASH is not set CT_CONFIG_SHELL_BASH=y # CT_CONFIG_SHELL_CUSTOM is not set CT_CONFIG_SHELL="${bash}" # # Logging # # CT_LOG_ERROR is not set # CT_LOG_WARN is not set CT_LOG_INFO=y # CT_LOG_EXTRA is not set # CT_LOG_ALL is not set # CT_LOG_DEBUG is not set CT_LOG_LEVEL_MAX="INFO" # CT_LOG_SEE_TOOLS_WARN is not set CT_LOG_PROGRESS_BAR=y CT_LOG_TO_FILE=y CT_LOG_FILE_COMPRESS=y # # Target options # CT_ARCH="powerpc" CT_ARCH_SUPPORTS_32=y CT_ARCH_SUPPORTS_64=y CT_ARCH_SUPPORTS_WITH_ABI=y CT_ARCH_SUPPORTS_WITH_CPU=y CT_ARCH_SUPPORTS_WITH_TUNE=y CT_ARCH_SUPPORTS_WITH_FLOAT=y CT_ARCH_DEFAULT_32=y CT_ARCH_ABI="" CT_ARCH_CPU="8540" CT_ARCH_TUNE="" CT_ARCH_32=y # CT_ARCH_64 is not set CT_ARCH_BITNESS=32 # CT_ARCH_FLOAT_HW is not set CT_ARCH_FLOAT_SW=y CT_TARGET_CFLAGS="" CT_TARGET_LDFLAGS="" # CT_ARCH_alpha is not set # CT_ARCH_arm is not set # CT_ARCH_avr32 is not set # CT_ARCH_blackfin is not set # CT_ARCH_m68k is not set # CT_ARCH_microblaze is not set # CT_ARCH_mips is not set CT_ARCH_powerpc=y # CT_ARCH_s390 is not set # CT_ARCH_sh is not set # CT_ARCH_sparc is not set # CT_ARCH_x86 is not set CT_ARCH_alpha_AVAILABLE=y CT_ARCH_arm_AVAILABLE=y CT_ARCH_avr32_AVAILABLE=y CT_ARCH_blackfin_AVAILABLE=y CT_ARCH_m68k_AVAILABLE=y CT_ARCH_microblaze_AVAILABLE=y CT_ARCH_mips_AVAILABLE=y CT_ARCH_powerpc_AVAILABLE=y CT_ARCH_s390_AVAILABLE=y CT_ARCH_sh_AVAILABLE=y CT_ARCH_sparc_AVAILABLE=y CT_ARCH_x86_AVAILABLE=y CT_ARCH_SUFFIX="" # # Generic target options # # CT_MULTILIB is not set CT_ARCH_USE_MMU=y # # Target optimisations # CT_ARCH_FLOAT="soft" # # powerpc other options # CT_ARCH_powerpc_ABI="" CT_ARCH_powerpc_ABI_DEFAULT=y # CT_ARCH_powerpc_ABI_SPE is not set # # Toolchain options # # # General toolchain options # CT_FORCE_SYSROOT=y CT_USE_SYSROOT=y CT_SYSROOT_NAME="sysroot" CT_SYSROOT_DIR_PREFIX="" CT_WANTS_STATIC_LINK=y CT_STATIC_TOOLCHAIN=y CT_TOOLCHAIN_PKGVERSION="" CT_TOOLCHAIN_BUGURL="" # # Tuple completion and aliasing # CT_TARGET_VENDOR="unknown" CT_TARGET_ALIAS_SED_EXPR="" CT_TARGET_ALIAS="" # # Toolchain type # # CT_NATIVE is not set CT_CROSS=y # CT_CROSS_NATIVE is not set # CT_CANADIAN is not set CT_TOOLCHAIN_TYPE="cross" # # Build system # CT_BUILD="" CT_BUILD_PREFIX="" CT_BUILD_SUFFIX="" # # Misc options # # CT_TOOLCHAIN_ENABLE_NLS is not set # # Operating System # CT_KERNEL_SUPPORTS_SHARED_LIBS=y CT_KERNEL="linux" CT_KERNEL_VERSION="2.6.33.20" # CT_KERNEL_bare_metal is not set CT_KERNEL_linux=y CT_KERNEL_bare_metal_AVAILABLE=y CT_KERNEL_linux_AVAILABLE=y # CT_KERNEL_V_3_10 is not set # CT_KERNEL_V_3_9 is not set # CT_KERNEL_V_3_8 is not set # CT_KERNEL_V_3_7 is not set # CT_KERNEL_V_3_6 is not set # CT_KERNEL_V_3_5 is not set # CT_KERNEL_V_3_4 is not set # CT_KERNEL_V_3_3 is not set # CT_KERNEL_V_3_2 is not set # CT_KERNEL_V_3_1 is not set # CT_KERNEL_V_3_0 is not set # CT_KERNEL_V_2_6_39 is not set # CT_KERNEL_V_2_6_38 is not set # CT_KERNEL_V_2_6_37 is not set # CT_KERNEL_V_2_6_36 is not set CT_KERNEL_V_2_6_33=y # CT_KERNEL_V_2_6_32 is not set # CT_KERNEL_V_2_6_31 is not set # CT_KERNEL_V_2_6_27 is not set # CT_KERNEL_LINUX_CUSTOM is not set CT_KERNEL_windows_AVAILABLE=y # # Common kernel options # CT_SHARED_LIBS=y # # linux other options # CT_KERNEL_LINUX_VERBOSITY_0=y # CT_KERNEL_LINUX_VERBOSITY_1 is not set # CT_KERNEL_LINUX_VERBOSITY_2 is not set CT_KERNEL_LINUX_VERBOSE_LEVEL=0 CT_KERNEL_LINUX_INSTALL_CHECK=y # # Binary utilities # CT_ARCH_BINFMT_ELF=y CT_BINUTILS="binutils" CT_BINUTILS_binutils=y # # GNU binutils # # CT_BINUTILS_V_2_23_1 is not set CT_BINUTILS_V_2_22=y # CT_BINUTILS_V_2_21_53 is not set # CT_BINUTILS_V_2_21_1a is not set # CT_BINUTILS_V_2_20_1a is not set # CT_BINUTILS_V_2_19_1a is not set # CT_BINUTILS_V_2_18a is not set # CT_BINUTILS_CUSTOM is not set CT_BINUTILS_VERSION="2.22" CT_BINUTILS_2_22_or_later=y CT_BINUTILS_2_21_or_later=y CT_BINUTILS_2_20_or_later=y CT_BINUTILS_2_19_or_later=y CT_BINUTILS_2_18_or_later=y CT_BINUTILS_HAS_HASH_STYLE=y CT_BINUTILS_HAS_GOLD=y CT_BINUTILS_HAS_PLUGINS=y CT_BINUTILS_HAS_PKGVERSION_BUGURL=y CT_BINUTILS_FORCE_LD_BFD=y CT_BINUTILS_LINKER_LD=y CT_BINUTILS_LINKERS_LIST="ld" CT_BINUTILS_LINKER_DEFAULT="bfd" CT_BINUTILS_EXTRA_CONFIG_ARRAY="" CT_BINUTILS_FOR_TARGET=y CT_BINUTILS_FOR_TARGET_IBERTY=y CT_BINUTILS_FOR_TARGET_BFD=y # # binutils other options # # # C compiler # CT_CC="gcc" CT_CC_VERSION="4.8.1" CT_CC_CORE_PASSES_NEEDED=y CT_CC_gcc=y CT_CC_GCC_SHOW_LINARO=y # CT_CC_V_linaro_4_8 is not set CT_CC_V_4_8_1=y # CT_CC_V_4_8_0 is not set # CT_CC_V_linaro_4_7 is not set # CT_CC_V_4_7_3 is not set # CT_CC_V_4_7_2 is not set # CT_CC_V_4_7_1 is not set # CT_CC_V_4_7_0 is not set # CT_CC_V_linaro_4_6 is not set # CT_CC_V_4_6_4 is not set # CT_CC_V_4_6_3 is not set # CT_CC_V_4_6_2 is not set # CT_CC_V_4_6_1 is not set # CT_CC_V_4_6_0 is not set # CT_CC_V_linaro_4_5 is not set # CT_CC_V_4_5_3 is not set # CT_CC_V_4_5_2 is not set # CT_CC_V_4_5_1 is not set # CT_CC_V_4_5_0 is not set # CT_CC_V_linaro_4_4 is not set # CT_CC_V_4_4_7 is not set # CT_CC_V_4_4_6 is not set # CT_CC_V_4_4_5 is not set # CT_CC_V_4_4_4 is not set # CT_CC_V_4_4_3 is not set # CT_CC_V_4_4_2 is not set # CT_CC_V_4_4_1 is not set # CT_CC_V_4_4_0 is not set # CT_CC_V_4_3_6 is not set # CT_CC_V_4_3_5 is not set # CT_CC_V_4_3_4 is not set # CT_CC_V_4_3_3 is not set # CT_CC_V_4_3_2 is not set # CT_CC_V_4_3_1 is not set # CT_CC_V_4_2_4 is not set # CT_CC_V_4_2_2 is not set # CT_CC_CUSTOM is not set CT_CC_GCC_4_2_or_later=y CT_CC_GCC_4_3_or_later=y CT_CC_GCC_4_4_or_later=y CT_CC_GCC_4_5_or_later=y CT_CC_GCC_4_6_or_later=y CT_CC_GCC_4_7_or_later=y CT_CC_GCC_4_8=y CT_CC_GCC_4_8_or_later=y CT_CC_GCC_HAS_GRAPHITE=y CT_CC_GCC_USE_GRAPHITE=y CT_CC_GCC_HAS_LTO=y CT_CC_GCC_USE_LTO=y CT_CC_GCC_HAS_PKGVERSION_BUGURL=y CT_CC_GCC_HAS_BUILD_ID=y CT_CC_GCC_HAS_LNK_HASH_STYLE=y CT_CC_GCC_USE_GMP_MPFR=y CT_CC_GCC_USE_MPC=y CT_CC_GCC_HAS_LIBQUADMATH=y # CT_CC_LANG_FORTRAN is not set CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_JAVA=y CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJCXX=y # # Additional supported languages: # CT_CC_LANG_CXX=y # CT_CC_LANG_JAVA is not set # CT_CC_LANG_ADA is not set # CT_CC_LANG_OBJC is not set # CT_CC_LANG_OBJCXX is not set CT_CC_LANG_OTHERS="" # # gcc other options # CT_CC_ENABLE_CXX_FLAGS="" CT_CC_CORE_EXTRA_CONFIG_ARRAY="" CT_CC_EXTRA_CONFIG_ARRAY="" CT_CC_STATIC_LIBSTDCXX=y CT_CC_GCC_SYSTEM_ZLIB=y # # Optimisation features # # # Settings for libraries running on target # CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y # CT_CC_GCC_LIBMUDFLAP is not set CT_CC_GCC_LIBGOMP=y # CT_CC_GCC_LIBSSP is not set # CT_CC_GCC_LIBQUADMATH is not set # # Misc. obscure options. # CT_CC_CXA_ATEXIT=y # CT_CC_GCC_DISABLE_PCH is not set CT_CC_GCC_SJLJ_EXCEPTIONS=m CT_CC_GCC_LDBL_128=m # CT_CC_GCC_BUILD_ID is not set CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y # CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set # CT_CC_GCC_LNK_HASH_STYLE_GNU is not set # CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set CT_CC_GCC_LNK_HASH_STYLE="" # # C-library # CT_LIBC="glibc" CT_LIBC_VERSION="2.8" # CT_LIBC_eglibc is not set CT_LIBC_glibc=y # CT_LIBC_uClibc is not set CT_LIBC_eglibc_AVAILABLE=y CT_LIBC_glibc_AVAILABLE=y # CT_LIBC_GLIBC_V_2_17 is not set # CT_LIBC_GLIBC_V_2_16_0 is not set # CT_LIBC_GLIBC_V_2_15 is not set # CT_LIBC_GLIBC_V_2_14_1 is not set # CT_LIBC_GLIBC_V_2_14 is not set # CT_LIBC_GLIBC_V_2_13 is not set # CT_LIBC_GLIBC_V_2_12_2 is not set # CT_LIBC_GLIBC_V_2_12_1 is not set # CT_LIBC_GLIBC_V_2_11_1 is not set # CT_LIBC_GLIBC_V_2_11 is not set # CT_LIBC_GLIBC_V_2_10_1 is not set # CT_LIBC_GLIBC_V_2_9 is not set CT_LIBC_GLIBC_V_2_8=y CT_LIBC_mingw_AVAILABLE=y CT_LIBC_newlib_AVAILABLE=y CT_LIBC_none_AVAILABLE=y CT_LIBC_uClibc_AVAILABLE=y CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_NPTL=y CT_THREADS="nptl" # # Common C library options # CT_THREADS_NPTL=y CT_LIBC_XLDD=y CT_LIBC_glibc_familly=y CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" CT_LIBC_GLIBC_CONFIGPARMS="" CT_LIBC_GLIBC_EXTRA_CFLAGS="" CT_LIBC_EXTRA_CC_ARGS="" # CT_LIBC_ENABLE_FORTIFIED_BUILD is not set # CT_LIBC_DISABLE_VERSIONING is not set CT_LIBC_OLDEST_ABI="" CT_LIBC_GLIBC_FORCE_UNWIND=y CT_LIBC_GLIBC_USE_PORTS=y CT_LIBC_ADDONS_LIST="" # CT_LIBC_LOCALES is not set # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set CT_LIBC_GLIBC_MIN_KERNEL="2.6.33.20" # # glibc other options # # # WARNING !!! # # # For glibc >= 2.8, it can happen that the tarballs # # # for the addons are not available for download. # # # If that happens, bad luck... Try a previous version # # # or try again later... :-( # # # Debug facilities # # CT_DEBUG_dmalloc is not set CT_DEBUG_duma=y CT_DUMA_A=y CT_DUMA_SO=y CT_DUMA_V_2_5_15=y CT_DUMA_VERSION="2_5_15" CT_DEBUG_gdb=y CT_GDB_CROSS=y CT_GDB_CROSS_STATIC=y # CT_GDB_CROSS_SIM is not set CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" # CT_GDB_NATIVE is not set CT_GDB_GDBSERVER=y CT_GDB_GDBSERVER_HAS_IPA_LIB=y CT_GDB_GDBSERVER_STATIC=y # # gdb version # # CT_DEBUG_GDB_SHOW_LINARO is not set CT_GDB_V_7_4_1=y # CT_GDB_V_7_4 is not set # CT_GDB_V_7_3_1 is not set # CT_GDB_V_7_3a is not set # CT_GDB_V_7_2a is not set # CT_GDB_V_7_1a is not set # CT_GDB_V_7_0_1a is not set # CT_GDB_V_7_0a is not set # CT_GDB_V_6_8a is not set # CT_GDB_CUSTOM is not set CT_GDB_7_2_or_later=y CT_GDB_7_0_or_later=y CT_GDB_HAS_PKGVERSION_BUGURL=y CT_GDB_INSTALL_GDBINIT=y CT_GDB_VERSION="7.4.1" CT_DEBUG_ltrace=y CT_LTRACE_V_0_5_3=y # CT_LTRACE_V_0_5_2 is not set CT_LTRACE_VERSION="0.5.3" CT_LTRACE_0_5_3_or_later=y CT_DEBUG_strace=y CT_STRACE_V_4_6=y # CT_STRACE_V_4_5_20 is not set # CT_STRACE_V_4_5_19 is not set # CT_STRACE_V_4_5_18 is not set CT_STRACE_VERSION="4.6" # # Companion libraries # CT_COMPLIBS_NEEDED=y CT_GMP_NEEDED=y CT_MPFR_NEEDED=y CT_ISL_NEEDED=y CT_CLOOG_NEEDED=y CT_MPC_NEEDED=y CT_COMPLIBS=y CT_GMP=y CT_MPFR=y CT_ISL=y CT_CLOOG=y CT_MPC=y CT_LIBELF_TARGET=y CT_GMP_V_5_1_1=y # CT_GMP_V_5_0_2 is not set # CT_GMP_V_5_0_1 is not set # CT_GMP_V_4_3_2 is not set # CT_GMP_V_4_3_1 is not set # CT_GMP_V_4_3_0 is not set CT_GMP_VERSION="5.1.1" CT_MPFR_V_3_1_2=y # CT_MPFR_V_3_1_0 is not set # CT_MPFR_V_3_0_1 is not set # CT_MPFR_V_3_0_0 is not set # CT_MPFR_V_2_4_2 is not set # CT_MPFR_V_2_4_1 is not set # CT_MPFR_V_2_4_0 is not set CT_MPFR_VERSION="3.1.2" CT_ISL_V_0_11_1=y CT_ISL_VERSION="0.11.1" CT_CLOOG_V_0_18_0=y CT_CLOOG_VERSION="0.18.0" CT_CLOOG_0_18_or_later=y CT_MPC_V_1_0_1=y # CT_MPC_V_1_0 is not set # CT_MPC_V_0_9 is not set # CT_MPC_V_0_8_2 is not set # CT_MPC_V_0_8_1 is not set # CT_MPC_V_0_7 is not set CT_MPC_VERSION="1.0.1" # # libelf version needed to build for target # CT_LIBELF_V_0_8_13=y # CT_LIBELF_V_0_8_12 is not set CT_LIBELF_VERSION="0.8.13" # # Companion libraries common options # # CT_COMPLIBS_CHECK is not set # # Companion tools # # # READ HELP before you say 'Y' below !!! # # CT_COMP_TOOLS is not set # # Test suite # # CT_TEST_SUITE_GCC is not set [-- Attachment #4: Type: text/plain, Size: 71 bytes --] -- For unsubscribe information see http://sourceware.org/lists.html#faq ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PowerPC glibc patches 2013-10-14 12:46 PowerPC glibc patches Fernandes, Joao Moreira (EXT-Other PT/Amadora) @ 2013-11-15 20:07 ` Yann E. MORIN 2013-12-31 16:21 ` Fernandes, Joao Moreira (EXT-Other PT/Amadora) 0 siblings, 1 reply; 5+ messages in thread From: Yann E. MORIN @ 2013-11-15 20:07 UTC (permalink / raw) To: Fernandes, Joao Moreira (EXT-Other PT/Amadora); +Cc: crossgcc João, All, [Please, wrap your messages at ~75 cahrs, it is easier to read] On 2013-10-14 12:46 +0000, Fernandes, Joao Moreira (EXT-Other PT/Amadora) spake thusly: > While trying to build a toolchain for a PowerPC system with gcc 4.8.1, > binutils 2.22 and glibc 2.8, I faced some difficulties. Firstly, patch > glibc/2.9/600-recent-binutils.patch also had to be applied to glibc 2.8; > secondly, gcc 4.8 dropped -mnew-mnemonics/-mold-mnemonics options, so I > had to remove -mnew-mnemonics from sysdeps/powerpc/Makefile - this is > safe as -mnew-mnemonics is gcc's default since the early 90's - and this > applies to glibc versions < 2.17; lastly, the patch from > https://sourceware.org/ml/crossgcc/2008-10/msg00010.html had to be applied. > A set of patches addressing all these issues is attached. Your patches are unusable because they are attached as base64-encoded parts, which makes them unusable. Please, have a look at: docs/7 - Contributing to crosstool-NG.txt docs/C - Misc. tutorials.txt for example on how to ciontribute changes to crosstool-NG. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: PowerPC glibc patches 2013-11-15 20:07 ` Yann E. MORIN @ 2013-12-31 16:21 ` Fernandes, Joao Moreira (EXT-Other PT/Amadora) 2013-12-31 18:01 ` ANDY KENNEDY 2014-12-04 23:56 ` Bryan Hundven 0 siblings, 2 replies; 5+ messages in thread From: Fernandes, Joao Moreira (EXT-Other PT/Amadora) @ 2013-12-31 16:21 UTC (permalink / raw) To: Yann E. MORIN; +Cc: crossgcc Yann, Unfortunately I have to use Outlook (company policy...) and I'm terrible with it, so sorry about the mess. I'm also unable to use patchbomb in this setup, so I'm inlining the patch bellow. Cheers, João exporting patch: # HG changeset patch # User João Fernandes <joao.m.fernandes.ext@coriant.com> # Date 1388504699 0 # Tue Dec 31 15:44:59 2013 +0000 # Node ID 655dd93187f312684df5172bbb82aa1c09db7417 # Parent 87ad9e82546df3ce0127d1046ec644b4486aa626 libc/glibc: various powerpc glibc fixes While trying to build a toolchain for a PowerPC system with gcc 4.8.1, binutils 2.22 and glibc 2.8, I faced some difficulties. Firstly, patch glibc/2.9/600-recent-binutils.patch also had to be applied to glibc 2.8; secondly, gcc 4.8 dropped -mnew-mnemonics/-mold-mnemonics options, so I had to remove -mnew-mnemonics from sysdeps/powerpc/Makefile of all glibc versions < 2.17 (this is safe as -mnew-mnemonics is gcc's default since the early 90's); lastly, the patch from https://sourceware.org/ml/crossgcc/2008-10/msg00010.html had to be applied. This patch addresses all mentioned issues. Signed-off-by: João Fernandes <joao.m.fernandes.ext@coriant.com> diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.10.1/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.10.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.11.1/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.11.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.11/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.11/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.12.1/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.12.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.12.2/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.12.2/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.13/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.13/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.14.1/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.14.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.14/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.14/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.15/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.15/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.16.0/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.16.0/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.8/100-powerpc-no_new_mnemonics.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.8/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,10 @@ +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 +@@ -1,7 +1,3 @@ +-# We always want to use the new mnemonic syntax even if we are on a RS6000 +-# machine. +-+cflags += -mnew-mnemonics +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.8/110-powerpc-nptl_guard_sym.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.8/110-powerpc-nptl_guard_sym.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,9 @@ +--- glibc-2.8-ori/nptl/sysdeps/powerpc/tcb-offsets.sym 2013-10-14 10:06:43.566678198 +0100 ++++ glibc-2.8/nptl/sysdeps/powerpc/tcb-offsets.sym 2013-10-14 10:37:58.331974657 +0100 +@@ -15,4 +15,6 @@ + PID thread_offsetof (pid) + TID thread_offsetof (tid) + POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) ++#ifndef __ASSUME_PRIVATE_FUTEX + PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex) ++#endif diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.8/600-recent-binutils.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/glibc/2.8/600-recent-binutils.patch Tue Dec 31 15:44:59 2013 +0000 @@ -0,0 +1,37 @@ +diff -durN glibc-2.9.orig/configure glibc-2.9/configure +--- glibc-2.9.orig/configure 2010-05-18 23:47:23.000000000 +0200 ++++ glibc-2.9/configure 2010-05-18 23:50:04.000000000 +0200 +@@ -4534,7 +4534,7 @@ + ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 2.1[3-9]*) ++ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + +@@ -4597,7 +4597,7 @@ + ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 2.1[3-9]*) ++ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + +diff -durN glibc-2.9.orig/configure.in glibc-2.9/configure.in +--- glibc-2.9.orig/configure.in 2010-05-18 23:47:23.000000000 +0200 ++++ glibc-2.9/configure.in 2010-05-18 23:51:25.000000000 +0200 +@@ -844,10 +844,10 @@ + # Accept binutils 2.13 or newer. + AC_CHECK_PROG_VER(AS, $AS, --version, + [GNU assembler.* \([0-9]*\.[0-9.]*\)], +- [2.1[3-9]*], AS=: critic_missing="$critic_missing as") ++ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as") + AC_CHECK_PROG_VER(LD, $LD, --version, + [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], +- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld") ++ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld") + + # We need the physical current working directory. We cannot use the + # "pwd -P" shell builtin since that's not portable. Instead we try to -----Original Message----- From: Yann E. MORIN [mailto:yann.morin.1998@gmail.com] On Behalf Of Yann E. MORIN Sent: Friday, November 15, 2013 8:07 PM To: Fernandes, Joao Moreira (EXT-Other PT/Amadora) Cc: crossgcc@sourceware.org Subject: Re: PowerPC glibc patches João, All, [Please, wrap your messages at ~75 cahrs, it is easier to read] On 2013-10-14 12:46 +0000, Fernandes, Joao Moreira (EXT-Other PT/Amadora) spake thusly: > While trying to build a toolchain for a PowerPC system with gcc 4.8.1, > binutils 2.22 and glibc 2.8, I faced some difficulties. Firstly, patch > glibc/2.9/600-recent-binutils.patch also had to be applied to glibc 2.8; > secondly, gcc 4.8 dropped -mnew-mnemonics/-mold-mnemonics options, so I > had to remove -mnew-mnemonics from sysdeps/powerpc/Makefile - this is > safe as -mnew-mnemonics is gcc's default since the early 90's - and this > applies to glibc versions < 2.17; lastly, the patch from > https://sourceware.org/ml/crossgcc/2008-10/msg00010.html had to be applied. > A set of patches addressing all these issues is attached. Your patches are unusable because they are attached as base64-encoded parts, which makes them unusable. Please, have a look at: docs/7 - Contributing to crosstool-NG.txt docs/C - Misc. tutorials.txt for example on how to ciontribute changes to crosstool-NG. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: PowerPC glibc patches 2013-12-31 16:21 ` Fernandes, Joao Moreira (EXT-Other PT/Amadora) @ 2013-12-31 18:01 ` ANDY KENNEDY 2014-12-04 23:56 ` Bryan Hundven 1 sibling, 0 replies; 5+ messages in thread From: ANDY KENNEDY @ 2013-12-31 18:01 UTC (permalink / raw) To: 'Fernandes, Joao Moreira (EXT-Other PT/Amadora)', Yann E. MORIN Cc: crossgcc > -----Original Message----- > From: crossgcc-owner@sourceware.org [mailto:crossgcc-owner@sourceware.org] On Behalf Of Fernandes, > Joao Moreira (EXT-Other PT/Amadora) > Sent: Tuesday, December 31, 2013 10:21 AM > To: Yann E. MORIN > Cc: crossgcc@sourceware.org > Subject: RE: PowerPC glibc patches > > Yann, > > Unfortunately I have to use Outlook (company policy...) and I'm > terrible with it, so sorry about the mess. I'm also unable to use > patchbomb in this setup, so I'm inlining the patch bellow. I'm in the same boat here. Some tips: 1) Make all your mail be done it PLAIN TEXT (there are three locations where you have to change this). 2) Download VIM for Windoze. 3) When you go to add a patch, make the patch in your Linux box, open it via VIM on Winders and copy and paste it into the e-mail (this will preserve your lines, tabs, and any other of the like). 4) Set your line breaks in LookOut! to some REALLY LARGE number (I have mine set to 150), then you'll need something like this: 123456789012345678901234567890123456789012345678901234567890123456789012 to know where to break the lines. 5) When you put that line in the text, make sure you delete it before you send the mail, or you feel real stupid when you see it in your e-mail (voice of experience). Good Luck! ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PowerPC glibc patches 2013-12-31 16:21 ` Fernandes, Joao Moreira (EXT-Other PT/Amadora) 2013-12-31 18:01 ` ANDY KENNEDY @ 2014-12-04 23:56 ` Bryan Hundven 1 sibling, 0 replies; 5+ messages in thread From: Bryan Hundven @ 2014-12-04 23:56 UTC (permalink / raw) To: Fernandes, Joao Moreira (EXT-Other PT/Amadora); +Cc: Yann E. MORIN, crossgcc Joao, As per: https://sourceware.org/ml/crossgcc/2014-12/msg00007.html I cc'd you to this announcement, but your email address bounced. I'm nicely setting the state to "rejected" and archiving the patch in patchwork: https://patchwork.ozlabs.org/patch/305898/ Anyone is welcome to sponsor, update, and resend the patch. Please do reference the original patch in patchwork if you do. Cheers, -Bryan On Tue, Dec 31, 2013 at 8:20 AM, Fernandes, Joao Moreira (EXT-Other PT/Amadora) <Joao.M.Fernandes.ext@coriant.com> wrote: > Yann, > > Unfortunately I have to use Outlook (company policy...) and I'm > terrible with it, so sorry about the mess. I'm also unable to use > patchbomb in this setup, so I'm inlining the patch bellow. > > Cheers, > João > > > exporting patch: > # HG changeset patch > # User João Fernandes <joao.m.fernandes.ext@coriant.com> > # Date 1388504699 0 > # Tue Dec 31 15:44:59 2013 +0000 > # Node ID 655dd93187f312684df5172bbb82aa1c09db7417 > # Parent 87ad9e82546df3ce0127d1046ec644b4486aa626 > libc/glibc: various powerpc glibc fixes > > While trying to build a toolchain for a PowerPC system with gcc 4.8.1, > binutils 2.22 and glibc 2.8, I faced some difficulties. Firstly, patch > glibc/2.9/600-recent-binutils.patch also had to be applied to glibc 2.8; > secondly, gcc 4.8 dropped -mnew-mnemonics/-mold-mnemonics options, so I had to > remove -mnew-mnemonics from sysdeps/powerpc/Makefile of all glibc > versions < 2.17 (this is safe as -mnew-mnemonics is gcc's default since the > early 90's); lastly, the patch from > https://sourceware.org/ml/crossgcc/2008-10/msg00010.html had to be applied. > This patch addresses all mentioned issues. > > Signed-off-by: João Fernandes <joao.m.fernandes.ext@coriant.com> > > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.10.1/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.10.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.11.1/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.11.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.11/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.11/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.12.1/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.12.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.12.2/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.12.2/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.13/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.13/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.14.1/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.14.1/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.14/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.14/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.15/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.15/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.16.0/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.16.0/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.8/100-powerpc-no_new_mnemonics.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.8/100-powerpc-no_new_mnemonics.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,10 @@ > +--- glibc-2.8-ori/sysdeps/powerpc/Makefile 2013-10-14 10:06:43.466677702 +0100 > ++++ glibc-2.8/sysdeps/powerpc/Makefile 2013-10-14 10:12:20.932351104 +0100 > +@@ -1,7 +1,3 @@ > +-# We always want to use the new mnemonic syntax even if we are on a RS6000 > +-# machine. > +-+cflags += -mnew-mnemonics > +- > + ifeq ($(subdir),gmon) > + sysdep_routines += ppc-mcount > + endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.8/110-powerpc-nptl_guard_sym.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.8/110-powerpc-nptl_guard_sym.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,9 @@ > +--- glibc-2.8-ori/nptl/sysdeps/powerpc/tcb-offsets.sym 2013-10-14 10:06:43.566678198 +0100 > ++++ glibc-2.8/nptl/sysdeps/powerpc/tcb-offsets.sym 2013-10-14 10:37:58.331974657 +0100 > +@@ -15,4 +15,6 @@ > + PID thread_offsetof (pid) > + TID thread_offsetof (tid) > + POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) > ++#ifndef __ASSUME_PRIVATE_FUTEX > + PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex) > ++#endif > diff -r 87ad9e82546d -r 655dd93187f3 glibc/2.8/600-recent-binutils.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/glibc/2.8/600-recent-binutils.patch Tue Dec 31 15:44:59 2013 +0000 > @@ -0,0 +1,37 @@ > +diff -durN glibc-2.9.orig/configure glibc-2.9/configure > +--- glibc-2.9.orig/configure 2010-05-18 23:47:23.000000000 +0200 > ++++ glibc-2.9/configure 2010-05-18 23:50:04.000000000 +0200 > +@@ -4534,7 +4534,7 @@ > + ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` > + case $ac_prog_version in > + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; > +- 2.1[3-9]*) > ++ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) > + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; > + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; > + > +@@ -4597,7 +4597,7 @@ > + ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` > + case $ac_prog_version in > + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; > +- 2.1[3-9]*) > ++ 2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) > + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; > + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; > + > +diff -durN glibc-2.9.orig/configure.in glibc-2.9/configure.in > +--- glibc-2.9.orig/configure.in 2010-05-18 23:47:23.000000000 +0200 > ++++ glibc-2.9/configure.in 2010-05-18 23:51:25.000000000 +0200 > +@@ -844,10 +844,10 @@ > + # Accept binutils 2.13 or newer. > + AC_CHECK_PROG_VER(AS, $AS, --version, > + [GNU assembler.* \([0-9]*\.[0-9.]*\)], > +- [2.1[3-9]*], AS=: critic_missing="$critic_missing as") > ++ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as") > + AC_CHECK_PROG_VER(LD, $LD, --version, > + [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], > +- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld") > ++ [2.1[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld") > + > + # We need the physical current working directory. We cannot use the > + # "pwd -P" shell builtin since that's not portable. Instead we try to > > > -----Original Message----- > From: Yann E. MORIN [mailto:yann.morin.1998@gmail.com] On Behalf Of Yann E. MORIN > Sent: Friday, November 15, 2013 8:07 PM > To: Fernandes, Joao Moreira (EXT-Other PT/Amadora) > Cc: crossgcc@sourceware.org > Subject: Re: PowerPC glibc patches > > João, All, > > [Please, wrap your messages at ~75 cahrs, it is easier to read] > > On 2013-10-14 12:46 +0000, Fernandes, Joao Moreira (EXT-Other PT/Amadora) spake thusly: >> While trying to build a toolchain for a PowerPC system with gcc 4.8.1, >> binutils 2.22 and glibc 2.8, I faced some difficulties. Firstly, patch >> glibc/2.9/600-recent-binutils.patch also had to be applied to glibc 2.8; >> secondly, gcc 4.8 dropped -mnew-mnemonics/-mold-mnemonics options, so I >> had to remove -mnew-mnemonics from sysdeps/powerpc/Makefile - this is >> safe as -mnew-mnemonics is gcc's default since the early 90's - and this >> applies to glibc versions < 2.17; lastly, the patch from >> https://sourceware.org/ml/crossgcc/2008-10/msg00010.html had to be applied. >> A set of patches addressing all these issues is attached. > > Your patches are unusable because they are attached as base64-encoded > parts, which makes them unusable. > > Please, have a look at: > docs/7 - Contributing to crosstool-NG.txt > docs/C - Misc. tutorials.txt > > for example on how to ciontribute changes to crosstool-NG. > > Regards, > Yann E. MORIN. > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-12-04 23:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-10-14 12:46 PowerPC glibc patches Fernandes, Joao Moreira (EXT-Other PT/Amadora) 2013-11-15 20:07 ` Yann E. MORIN 2013-12-31 16:21 ` Fernandes, Joao Moreira (EXT-Other PT/Amadora) 2013-12-31 18:01 ` ANDY KENNEDY 2014-12-04 23:56 ` Bryan Hundven
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).