public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* 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).