From: "Fernandes, Joao Moreira (EXT-Other PT/Amadora)" <Joao.M.Fernandes.ext@coriant.com>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: "crossgcc@sourceware.org" <crossgcc@sourceware.org>
Subject: RE: PowerPC glibc patches
Date: Tue, 31 Dec 2013 16:21:00 -0000 [thread overview]
Message-ID: <4aa29d48b1aa4a8b939b0ab2820b7228@DB3PR04MB218.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20131115200716.GD3337@free.fr>
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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2013-12-31 16:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-14 12:46 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) [this message]
2013-12-31 18:01 ` ANDY KENNEDY
2014-12-04 23:56 ` Bryan Hundven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4aa29d48b1aa4a8b939b0ab2820b7228@DB3PR04MB218.eurprd04.prod.outlook.com \
--to=joao.m.fernandes.ext@coriant.com \
--cc=crossgcc@sourceware.org \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).