This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.

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.  |
'------------------------------^-------^------------------^--------------------'

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]