Re: [parisc-linux] glibc is broken because of gcc

2007-07-10 Thread Aurelien Jarno
On Thu, Jul 05, 2007 at 11:18:05AM -0400, John David Anglin wrote:
   Could you do glibc builds with the gcc trunk before and after the change?
   It's best to base the PR on an unmodified version of gcc.
  
  The test with the gcc-trunk (Main 4.3.0 head) shows the same error at the 
  same place.
 
 Ok, it would be useful to file a gcc PR to start.  However, it's not
 clear that gcc is a fault.
 
 It may be that glibc isn't using the visibility attribute correctly
 for this symbol (i.e., hiding a symbol that is externally referenced).


The patch below based on the m68k version of sysdep-cancel.h fixes the
problem.


2007-07-10  Aurelien Jarno  [EMAIL PROTECTED]

* sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h:
(__local_multiple_threads): Declare as hidden only in libc and
in libpthread.

Index: ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h 
===
--- ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h.orig
+++ ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/sysdep-cancel.h
@@ -206,7 +206,11 @@
 # endif
 
 # ifndef __ASSEMBLER__
- extern int __local_multiple_threads attribute_hidden;
+#  if !defined NOT_IN_libc || defined IS_IN_libpthread
+extern int __local_multiple_threads attribute_hidden;
+#  else
+extern int __local_multiple_threads;
+#  endif
 #  define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
 # else
 /* This ALT version requires newer kernel support */

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-08 Thread John David Anglin
  On the other hand, the LinuxThreads build on other architectures are
  still fine even with the latest gcc in Debian.
  
  Is the __librt_multiple_threads symbol defined, undefined or not
  used in librt.so?
  
 
 On both hppa and m68k I get:
   DO *UND*  0004  GLIBC_PRIVATE __librt_multiple_threads

So, it would seem m68k is also broken if the definition
in libc-2.5.so is hidden.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-05 Thread seb
On Mon, Jul 02, 2007 at 09:58:45PM -0400, John David Anglin wrote:
[snip]
 
 Looking at gcc PR 20218, it's clear that there are some very subtle
 issues here.  So, it's not clear to me where the problem lies.  It
 could be in glibc (hppa sysdep-cancel.h), binutils or gcc.  The handling
 of the visibility attribute was broken prior to HJL's change, so it
 could have exposed bugs in other packages.
 
 Because of this, it was a mistake for Debian to backport this change.
 The change is only in the unreleased gcc trunk.
 
 Since the problem was introduced by a gcc change, I'd start with
 a gcc PR and mention the patch that introduced the regression.
 
 Could you do glibc builds with the gcc trunk before and after the change?
 It's best to base the PR on an unmodified version of gcc.

The test with the gcc-trunk (Main 4.3.0 head) shows the same error at the same 
place.
By the way, did I mention that the problem is not present if nptl is enabled ?

 
 It would help to know the exact details of the linker command that
 fails, the assembler code generated for mq_timedreceive, and the
 __librt_multiple_threads symbols in __librt_multiple_threads librt.so.

Did you had a look at the info I sent you  (see my previous message) ?

What do you think of this ?

Seb


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-05 Thread Jeff Bailey

On 05/07/07, John David Anglin [EMAIL PROTECTED] wrote:

  Could you do glibc builds with the gcc trunk before and after the change?
  It's best to base the PR on an unmodified version of gcc.

 The test with the gcc-trunk (Main 4.3.0 head) shows the same error at the 
same place.

Ok, it would be useful to file a gcc PR to start.  However, it's not
clear that gcc is a fault.

It may be that glibc isn't using the visibility attribute correctly
for this symbol (i.e., hiding a symbol that is externally referenced).
You could try building glibc with the attribute removed.  This might
be somewhat hppa specific because of the nptl issue.


As long as LinuxThreads isn't built, this problem doesn't come up.  It
seems very likely that it's a glibc problem, then.  The Ubuntu builds
are NPTL-only and don't show this problem.

--
Jeff Bailey - http://www.raspberryginger.com/jbailey/


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-05 Thread John David Anglin
  Could you do glibc builds with the gcc trunk before and after the change?
  It's best to base the PR on an unmodified version of gcc.
 
 The test with the gcc-trunk (Main 4.3.0 head) shows the same error at the 
 same place.

Ok, it would be useful to file a gcc PR to start.  However, it's not
clear that gcc is a fault.

It may be that glibc isn't using the visibility attribute correctly
for this symbol (i.e., hiding a symbol that is externally referenced).
You could try building glibc with the attribute removed.  This might
be somewhat hppa specific because of the nptl issue.

  It would help to know the exact details of the linker command that
  fails, the assembler code generated for mq_timedreceive, and the
  __librt_multiple_threads symbols in __librt_multiple_threads librt.so.
 
 Did you had a look at the info I sent you  (see my previous message) ?

I looked at it briefly but don't have a comment at the moment.  I was
hoping to figure out which package is responsible for this problem.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-05 Thread Aurelien Jarno
Jeff Bailey a écrit :
 On 05/07/07, John David Anglin [EMAIL PROTECTED] wrote:
 Could you do glibc builds with the gcc trunk before and after the change?
 It's best to base the PR on an unmodified version of gcc.
 The test with the gcc-trunk (Main 4.3.0 head) shows the same error at the 
 same place.
 Ok, it would be useful to file a gcc PR to start.  However, it's not
 clear that gcc is a fault.

 It may be that glibc isn't using the visibility attribute correctly
 for this symbol (i.e., hiding a symbol that is externally referenced).
 You could try building glibc with the attribute removed.  This might
 be somewhat hppa specific because of the nptl issue.
 
 As long as LinuxThreads isn't built, this problem doesn't come up.  It
 seems very likely that it's a glibc problem, then.  The Ubuntu builds
 are NPTL-only and don't show this problem.
 

On the other hand, the LinuxThreads build on other architectures are
still fine even with the latest gcc in Debian.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-05 Thread John David Anglin
 On the other hand, the LinuxThreads build on other architectures are
 still fine even with the latest gcc in Debian.

Is the __librt_multiple_threads symbol defined, undefined or not
used in librt.so?

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-02 Thread Sébastien Bernard

John David Anglin a écrit :

Looking at this some more, I don't think there's a missing backport
for hppa.


There was no reaction on either site.


The comment was too vague and will be ignored since you are modifying
 the gcc tree.  If a gcc bug is identified, then a new gcc PR is
needed.


Well, it was a pr on a backport. I though  it was appropriate to add the
problem to the long thread.




Looking at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=428509, I
don't see that gcc is doing anything wrong.  Currently, I see the 
following with readelf for __librt_multiple_threads in librt-2.5.so 
and libc-2.5.so on testing, respectively:


44:  4 OBJECT  GLOBAL DEFAULT  UND
[EMAIL PROTECTED] (10)

1230: 0013e328 4 OBJECT  GLOBAL DEFAULT   32
__librt_multiple_threads@@GLIBC_PRIVATE

The link error suggests that __librt_multiple_threads is hidden in
libc-2.5.so. This will only occur if the symbol is defined with the
.hidden attribute. If that's the case, the link error is expected.
So, either the symbol shouldn't be hidden or it needs to be defined
in librt as well.  This is a glibc issue.


Here is the readelf of the broken build :
[EMAIL PROTECTED]:~/glibc-2.5/build-tree/hppa-libc/rt$ readelf -a ./libc.so 
|grep multiple_threads

  1230: 0013e328 4 OBJECT  GLOBAL DEFAULT   32
__librt_multiple_threads@@GLIBC_PRIVATE
  2737: 0013e328 4 OBJECT  LOCAL  HIDDEN   32 __libc_multiple_threads
  3961: 0013e328 4 OBJECT  GLOBAL DEFAULT   32 __librt_multiple_threads

[EMAIL PROTECTED]:~/dev/glibc/glibc-2.5/build-tree/hppa-libc/rt$ readelf -a
librt_pic.a |grep multiple_threads
18:  0 NOTYPE  GLOBAL HIDDEN  UND __librt_multiple_threads
 6:  0 NOTYPE  GLOBAL DEFAULT  UND __librt_multiple_threads
 6:  0 NOTYPE  GLOBAL DEFAULT  UND __librt_multiple_threads

I don't see anything wrong. Moreover, the readelf on the correct library 
gives exactly the same result.


To me, the gcc is the bad boy of this story.

I wonder if the gcc sees the first hidden symbol and stop there the
linking with an error without trying to go further the table to see if
another match is possible.
In this case, the problem is in the linker.

Since I don't really know the details, I'm limited to high level 
conjectures.





I should note that pa gcc backend doesn't do anything special wrt 
.hidden.  .hidden support is handled completely by the middle-end. 
Thus, any problem wrt .hidden in gcc is likely to apply to all

targets that support this attribute.

Dave


Hum, so this PR is unhiding a bug in the glibc ?

Why then other arch don't seem to be impacted ?

Seb


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-02 Thread John David Anglin
 Here is the readelf of the broken build :
 [EMAIL PROTECTED]:~/glibc-2.5/build-tree/hppa-libc/rt$ readelf -a ./libc.so 
 |grep multiple_threads
1230: 0013e328 4 OBJECT  GLOBAL DEFAULT   32
 __librt_multiple_threads@@GLIBC_PRIVATE
2737: 0013e328 4 OBJECT  LOCAL  HIDDEN   32 __libc_multiple_threads
3961: 0013e328 4 OBJECT  GLOBAL DEFAULT   32 __librt_multiple_threads
 
 [EMAIL PROTECTED]:~/dev/glibc/glibc-2.5/build-tree/hppa-libc/rt$ readelf -a
 librt_pic.a |grep multiple_threads
  18:  0 NOTYPE  GLOBAL HIDDEN  UND __librt_multiple_threads
   6:  0 NOTYPE  GLOBAL DEFAULT  UND __librt_multiple_threads
   6:  0 NOTYPE  GLOBAL DEFAULT  UND __librt_multiple_threads
 
 I don't see anything wrong. Moreover, the readelf on the correct library 
 gives exactly the same result.

The error in bug 428509 is:

...
/home/seb/dev/glibc-2.5/build-tree/hppa-libc/rt/librt_pic.a(mq_timedreceive.os):(.text+0x20):
 more undefined references to `__librt_multiple_threads' follow
/usr/bin/ld: /home/seb/dev/glibc-2.5/build-tree/hppa-libc/rt/librt.so: hidden 
symbol `__librt_multiple_threads' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output

Looking at gcc PR 20218, it's clear that there are some very subtle
issues here.  So, it's not clear to me where the problem lies.  It
could be in glibc (hppa sysdep-cancel.h), binutils or gcc.  The handling
of the visibility attribute was broken prior to HJL's change, so it
could have exposed bugs in other packages.

Because of this, it was a mistake for Debian to backport this change.
The change is only in the unreleased gcc trunk.

Since the problem was introduced by a gcc change, I'd start with
a gcc PR and mention the patch that introduced the regression.

Could you do glibc builds with the gcc trunk before and after the change?
It's best to base the PR on an unmodified version of gcc.

It would help to know the exact details of the linker command that
fails, the assembler code generated for mq_timedreceive, and the
__librt_multiple_threads symbols in __librt_multiple_threads librt.so.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-07-01 Thread Matthias Klose
The proposed fix seems to be wrong, as it disables the backport on all
architectures.  Please could you recheck with current trunk? As jda
suggested, another backport is missing for hppa.

  Matthias

Sébastien Bernard writes:
 Ok, I nailed it.
 I removed PR20218 patch and generated a 4.1.2-12+b1 then build glibc.
 
 Glibc build is ok now.
 I think the hppa toolchain can move on and build the glibc-2.5-11 and 
 then rebuild the portmap and all pie executable (pfeww... what a bug chain).
 
   Seb
 
 diff -r -u -b -B -w gcc-4.1-4.1.2-12/debian/changelog 
 gcc-4.1-4.1.2-12+b1/debian/changelog
 --- gcc-4.1-4.1.2-12/debian/changelog 2007-06-13 22:34:38.0 +0200
 +++ gcc-4.1-4.1.2-12+b1/debian/changelog  2007-06-13 12:44:48.0 
 +0200
 @@ -1,3 +1,9 @@
 +gcc-4.1 (4.1.2-12+b1) unstable; urgency=low
 +
 +  * Revert 20218 patch that breaks gcc
 +
 + -- Sebastien Bernard [EMAIL PROTECTED]  Wed, 13 Jun 2007 12:44:07 +0200
 +
  gcc-4.1 (4.1.2-12) unstable; urgency=high
  
* i386-biarch.dpatch: Update for the backport for PR target/31868.
 diff -r -u -b -B -w gcc-4.1-4.1.2-12/debian/rules.patch 
 gcc-4.1-4.1.2-12+b1/debian/rules.patch
 --- gcc-4.1-4.1.2-12/debian/rules.patch   2007-06-13 22:34:38.0 
 +0200
 +++ gcc-4.1-4.1.2-12+b1/debian/rules.patch2007-06-13 12:45:06.0 
 +0200
 @@ -41,8 +41,6 @@
   fastjar-version \
   fastjar-doc \
   libstdc++-doxygen \
 - pr20218 \
 - pr20218-mips \
   pr31868 \
   arm-libffi \
   libffi-backport \
 @@ -112,10 +110,6 @@
debian_patches += pr25524-doc pr26885-doc gcc-4.1-x86-blended-doc 
 libjava-backport-updates2
  endif
  
 -ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 powerpc ppc64 sparc s390))
 -  debian_patches += pr20218
 -endif
 -
  ifeq ($(with_libffi),yes)
debian_patches += \
   libffi-configure
 ___
 parisc-linux mailing list
 [EMAIL PROTECTED]
 http://lists.parisc-linux.org/mailman/listinfo/parisc-linux



Re: [parisc-linux] glibc is broken because of gcc

2007-06-13 Thread seb
On Tue, Jun 12, 2007 at 06:24:06PM -0400, John David Anglin wrote:
  Here is the reduced diff. I removed anything that is unrelated to hppa,
  C or anything.
  The diff is between -7 and -12.
  The diff is mere 300 lines long.
  The problem lies here.
 
 The odds are the problem lies in the change to varasm.c.

This patch is a part of PR20218.
4.1/4.2 PATCH: PR middle-end/20218: Can't use __attribute__ ((visibility 
(hidden))) to hide a symbol

I could remove this patch altogether. But I still wonder why this patch works
ok on other archs and not on hppa*.

Seb


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-06-13 Thread John David Anglin
 I could remove this patch altogether. But I still wonder why this patch works
 ok on other archs and not on hppa*.

hppa* does a deferred generation of plabels for indirect function calls.
I think this is affected by the change.  I don't recall exactly but there
may have been a followup patch to fix this.  Of course, this change isn't
in the 4.1 GCC tree.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-06-13 Thread seb
On Wed, Jun 13, 2007 at 09:32:24AM -0400, John David Anglin wrote:
  I could remove this patch altogether. But I still wonder why this patch 
  works
  ok on other archs and not on hppa*.
 
 hppa* does a deferred generation of plabels for indirect function calls.
 I think this is affected by the change.  I don't recall exactly but there
 may have been a followup patch to fix this.  Of course, this change isn't
 in the 4.1 GCC tree.

Ok, thanks for the explanations. I just have to figure out what it means now 
;-).

Can I find this patch somewhere ? Is there any discussion on the ML ?
The patch was discussed near January of this year on the gcc ML.
 
 Dave
 -- 
 J. David Anglin  [EMAIL PROTECTED]
 National Research Council of Canada  (613) 990-0752 (FAX: 
 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-06-13 Thread Sébastien Bernard

[EMAIL PROTECTED] a écrit :

On Wed, Jun 13, 2007 at 09:32:24AM -0400, John David Anglin wrote:

I could remove this patch altogether. But I still wonder why this patch works
ok on other archs and not on hppa*.

hppa* does a deferred generation of plabels for indirect function calls.
I think this is affected by the change.  I don't recall exactly but there
may have been a followup patch to fix this.  Of course, this change isn't
in the 4.1 GCC tree.


Ok, thanks for the explanations. I just have to figure out what it means now 
;-).

Can I find this patch somewhere ? Is there any discussion on the ML ?
The patch was discussed near January of this year on the gcc ML.

Dave
--
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


Ok, I nailed it.
I removed PR20218 patch and generated a 4.1.2-12+b1 then build glibc.

Glibc build is ok now.
I think the hppa toolchain can move on and build the glibc-2.5-11 and 
then rebuild the portmap and all pie executable (pfeww... what a bug chain).


Seb

diff -r -u -b -B -w gcc-4.1-4.1.2-12/debian/changelog 
gcc-4.1-4.1.2-12+b1/debian/changelog
--- gcc-4.1-4.1.2-12/debian/changelog   2007-06-13 22:34:38.0 +0200
+++ gcc-4.1-4.1.2-12+b1/debian/changelog2007-06-13 12:44:48.0 
+0200
@@ -1,3 +1,9 @@
+gcc-4.1 (4.1.2-12+b1) unstable; urgency=low
+
+  * Revert 20218 patch that breaks gcc
+
+ -- Sebastien Bernard [EMAIL PROTECTED]  Wed, 13 Jun 2007 12:44:07 +0200
+
 gcc-4.1 (4.1.2-12) unstable; urgency=high
 
   * i386-biarch.dpatch: Update for the backport for PR target/31868.
diff -r -u -b -B -w gcc-4.1-4.1.2-12/debian/rules.patch 
gcc-4.1-4.1.2-12+b1/debian/rules.patch
--- gcc-4.1-4.1.2-12/debian/rules.patch 2007-06-13 22:34:38.0 +0200
+++ gcc-4.1-4.1.2-12+b1/debian/rules.patch  2007-06-13 12:45:06.0 
+0200
@@ -41,8 +41,6 @@
fastjar-version \
fastjar-doc \
libstdc++-doxygen \
-   pr20218 \
-   pr20218-mips \
pr31868 \
arm-libffi \
libffi-backport \
@@ -112,10 +110,6 @@
   debian_patches += pr25524-doc pr26885-doc gcc-4.1-x86-blended-doc 
libjava-backport-updates2
 endif
 
-ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 powerpc ppc64 sparc s390))
-  debian_patches += pr20218
-endif
-
 ifeq ($(with_libffi),yes)
   debian_patches += \
libffi-configure


Re: [parisc-linux] glibc is broken because of gcc

2007-06-12 Thread seb
On Mon, Jun 11, 2007 at 06:27:45PM +0200, [EMAIL PROTECTED] wrote:
 Here is the diff from environnement :
 Package   | buildd vers   | current vers
 ---
 make  | 3.81.3| 3.81.3
 gawk  | 3.1.5.dfsg-4  | 3.1.5.dfsg-4
 intltool-debian   | 0.35.0+20060710.1 | 0.35.0+20060710.1
 gettext-base  | 0.16.1-1  | 0.16.1-1
 gettext   | 0.16.1-1  | 0.16.1-1
 autoconf  | 2.61-4| 2.61-4
 html2text | 1.3.2a-3+b1   | 1.3.2a-3+b1
 po-debconf| 1.0.8 | 1.0.8
 bzip2 | 1.0.3-7   | 1.0.3-7
 lzma  | 4.43-7| 4.43-7
 diffstat  | 1.43-2| 1.43-2
 m4| 1.4.9-1   | 1.4.9-1
 quilt | 0.46-2| 0.46-2
 --
 dpkg-dev  | 1.14.3| 1.14.4
 sed   | 4.1.5-1   | 4.1.5-2
 binutils  | 2.17cvs20070428-6 | 2.17cvs20070426-8
 gcc-4.1   | 4.1.2-7   | 4.1.2-11
 g++-4.1   | 4.1.2-7   | 4.1.2-12
 libstdc++6-4.1-dev | 4.1.2-7  | 4.1.2-12
 libstdc++6| 4.1.2-7   | 4.1.2-12
 libmagic1 | 4.20-8| 4.21-1
 file  | 4.20-8| 4.21-1
 debhelper   | 5.0.49  | 5.0.50
 linux-libc-dev| 3.6.21-2  | 2.6.21-4
 libc6-dev | 2.5-7 | 2.5-9
 --

We have a winner.
The glibc build breakage is the gcc fault.

The gcc-4.1 4.1.2-8 builds the package ok.
The gcc-4.1 4.1.2-11 is ko.

  Seb


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-06-12 Thread seb
On Tue, Jun 12, 2007 at 10:48:06AM +0200, [EMAIL PROTECTED] wrote:
 
 The gcc-4.1 4.1.2-8 builds the package ok.
 The gcc-4.1 4.1.2-11 is ko.
 
   Seb

Problem logged on debian bug #428509.

Seb


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [parisc-linux] glibc is broken because of gcc

2007-06-12 Thread Sébastien Bernard

[EMAIL PROTECTED] a écrit :

On Tue, Jun 12, 2007 at 10:48:06AM +0200, [EMAIL PROTECTED] wrote:

The gcc-4.1 4.1.2-8 builds the package ok.
The gcc-4.1 4.1.2-11 is ko.

  Seb


Problem logged on debian bug #428509.

Seb
___
parisc-linux mailing list
[EMAIL PROTECTED]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux


Here is the reduced diff. I removed anything that is unrelated to hppa,
C or anything.
The diff is between -7 and -12.
The diff is mere 300 lines long.
The problem lies here.


diff -r -u -b -B -w gcc-4.1-4.1.2-7/src/configure gcc-4.1-4.1.2-12/src/configure
--- gcc-4.1-4.1.2-7/src/configure   2007-06-12 22:08:36.0 +0200
+++ gcc-4.1-4.1.2-12/src/configure  2006-11-21 18:48:36.0 +0100
@@ -16,8 +16,6 @@
 ac_help=$ac_help
   --enable-libsspBuilds libssp directory
 ac_help=$ac_help
-  --enable-libffiBuilds libffi directory
-ac_help=$ac_help
   --with-mpfr-dir=PATHSpecify source directory for MPFR library
 ac_help=$ac_help
   --with-mpfr=PATHSpecify directory for installed MPFR library
@@ -1109,20 +1107,6 @@
   noconfigdirs=$noconfigdirs target-libssp
 fi
 
-# Check whether --enable-libffi or --disable-libffi was given.
-if test ${enable_libffi+set} = set; then
-  enableval=$enable_libffi
-  ENABLE_LIBFFI=$enableval
-else
-  ENABLE_LIBFFI=yes
-fi
-
-if test ${ENABLE_LIBFFI} != yes ; then
-  noconfigdirs=$noconfigdirs target-libffi
-else
-  libgcj=`echo $libgcj | sed 's/target-libffi *//'`
-fi
-
 # Save it here so that, even in case of --enable-libgcj, if the Java
 # front-end isn't enabled, we still get libgcj disabled.
 libgcj_saved=$libgcj
diff -r -u -b -B -w gcc-4.1-4.1.2-7/src/configure.in 
gcc-4.1-4.1.2-12/src/configure.in
--- gcc-4.1-4.1.2-7/src/configure.in2007-06-12 22:08:36.0 +0200
+++ gcc-4.1-4.1.2-12/src/configure.in   2006-11-21 18:48:36.0 +0100
@@ -315,16 +315,6 @@
   noconfigdirs=$noconfigdirs target-libssp
 fi
 
-AC_ARG_ENABLE(libffi,
-[  --enable-libffiBuilds libffi directory],
-ENABLE_LIBFFI=$enableval,
-ENABLE_LIBFFI=yes)
-if test ${ENABLE_LIBFFI} != yes ; then
-  noconfigdirs=$noconfigdirs target-libffi
-else
-  libgcj=`echo $libgcj | sed 's/target-libffi *//'`
-fi
-
 # Save it here so that, even in case of --enable-libgcj, if the Java
 # front-end isn't enabled, we still get libgcj disabled.
 libgcj_saved=$libgcj
diff -r -u -b -B -w gcc-4.1-4.1.2-7/src/gcc/cgraphunit.c 
gcc-4.1-4.1.2-12/src/gcc/cgraphunit.c
--- gcc-4.1-4.1.2-7/src/gcc/cgraphunit.c2007-01-05 20:44:10.0 
+0100
+++ gcc-4.1-4.1.2-12/src/gcc/cgraphunit.c   2007-06-12 22:13:19.0 
+0200
@@ -1330,8 +1330,6 @@
   return;
 }
 
-  process_pending_assemble_externals ();
-  
   /* Frontend may output common variables after the unit has been finalized.
  It is safe to deal with them here as they are always zero initialized.  */
   cgraph_varpool_analyze_pending_decls ();
diff -r -u -b -B -w gcc-4.1-4.1.2-7/src/gcc/combine.c 
gcc-4.1-4.1.2-12/src/gcc/combine.c
--- gcc-4.1-4.1.2-7/src/gcc/combine.c   2007-01-21 23:34:57.0 +0100
+++ gcc-4.1-4.1.2-12/src/gcc/combine.c  2007-06-12 22:12:56.0 +0200
@@ -5443,11 +5443,11 @@
  SUBST(SET_SRC (x), op0);
  src = SET_SRC (x);
 }
-  else
-   {
  /* Otherwise, update the COMPARE if needed.  */
- SUBST (XEXP (src, 0), op0);
- SUBST (XEXP (src, 1), op1);
+  else if (XEXP (src, 0) != op0 || XEXP (src, 1) != op1)
+   {
+ SUBST (SET_SRC (x), gen_rtx_COMPARE (compare_mode, op0, op1));
+ src = SET_SRC (x);
}
 }
   else
--- gcc-4.1-4.1.2-7/src/gcc/config/elfos.h  2006-08-01 00:08:47.0 
+0200
+++ gcc-4.1-4.1.2-12/src/gcc/config/elfos.h 2007-06-12 22:13:19.0 
+0200
@@ -494,3 +494,13 @@
 fprintf ((FILE), \\n);  \
 }  \
   while (0)
+
+/* A C statement (sans semicolon) to output to the stdio stream STREAM
+   any text necessary for declaring the name of an external symbol
+   named NAME whch is referenced in this compilation but not defined.
+   It is needed to properly support non-default visibility.  */
+
+#ifndef ASM_OUTPUT_EXTERNAL
+#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
+  default_elf_asm_output_external (FILE, DECL, NAME)
+#endif
diff -r -u -b -B -w gcc-4.1-4.1.2-7/src/gcc/config/t-libc-ok 
gcc-4.1-4.1.2-12/src/gcc/config/t-libc-ok
--- gcc-4.1-4.1.2-7/src/gcc/config/t-libc-ok2002-11-26 23:47:18.0 
+0100
+++ gcc-4.1-4.1.2-12/src/gcc/config/t-libc-ok   2007-06-12 22:13:19.0 
+0200
@@ -1 +1 @@
-CRTSTUFF_T_CFLAGS_S=-fPIC
+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
diff -r -u -b -B -w gcc-4.1-4.1.2-7/src/gcc/config/t-netbsd 
gcc-4.1-4.1.2-12/src/gcc/config/t-netbsd
--- gcc-4.1-4.1.2-7/src/gcc/config/t-netbsd 2003-09-23 20:56:00.0 

Re: [parisc-linux] glibc is broken because of gcc

2007-06-12 Thread John David Anglin
 Here is the reduced diff. I removed anything that is unrelated to hppa,
 C or anything.
 The diff is between -7 and -12.
 The diff is mere 300 lines long.
 The problem lies here.

The odds are the problem lies in the change to varasm.c.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]