Bug#148192: configuration error in gcc 3.1

2002-05-25 Thread Jack Howarth
Package: gcc
Version: 3.1-2

It appears that the build scripts for the gcc 3.1 package are
flawed in setting the configure paramaters. I find that when
I build this package on debian ppc sid, the resulting gcc shows

 gcc -v
Reading specs from /usr/lib/gcc-lib/powerpc-linux/3.1/specs
Configured with: /src/gcc/gcc-3.1-3.1ds2/src/configure -v 
--enable-languages=c,c++,java,f77,proto,objc,ada --prefix=/usr 
--mandir=$(prefix)/share/man --infodir=$(prefix)/share/info 
--with-gxx-include-dir=$(prefix)/include/g++-v3-3.1 --enable-shared 
--with-system-zlib --enable-long-long --enable-nls --without-included-gettext 
--enable-clocale=gnu --enable-threads=posix --enable-java-gc=boehm 
--enable-objc-gc powerpc-linux
Thread model: posix
gcc version 3.1 (Debian)

whereas the rpm packages for ppclinux that Franz Sirl did on
entropy.crashing.org produce fully expanded entries in the gcc -v
response for --mandir, --infodir, --with-gxx-include-dir, etc.
That is $(prefix) in the above output should have been expanded
to /usr.


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




Bug#148651: gcc 3.1-2 patch breaks binutils builds

2002-05-31 Thread Jack Howarth
Package: gcc-3.1
Version: 3.1-2

In rebuilding binutils 2.12.90.0.7-1 with gcc-3.1-2 on debian ppc sid
I discovered that this causes binutils to have a new unexpected failure
in its testsuite...

Running /home/howarth/debian-binutils/binutils-2.12.90.0.7/build-tree/binutils-2
.12.90.0.7/ld/testsuite/ld-srec/srec.exp ...
PASS: S-records
FAIL: S-records with constructors

It appears the origin of this problem is the use of the 
g++-cxa-atexit.dpatch patch in the build of gcc-3.1. This
patch is not used in the RedHat gcc 3.1 srpms. If I rebuild
gcc-3.1-2 with the g++-cxa-atexit.dpatch patch disabled and
then install that gcc-3.1-2 and rebuild binutils 2.12.90.0.7
(or 2.12.90.0.9) I find that the unexpected binutils failure
has disappeared from the testsuite results. I have forwarded
this information to HJ Lu so he can look into whether the
use g++-cxa-atexit.dpatch breakage is due to a bug in gcc
or binutils. For now unless there is a pressing reason to use
it we should disable that patch.
  Jack


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




is g++-cxa-atexit.dpatch still needed

2002-06-01 Thread Jack Howarth
   I went back and looked at the origin of this g++-cxa-atexit.dpatch
patch...

http://lists.debian.org/debian-gcc/2001/debian-gcc-200106/msg00162.html
http://gcc.gnu.org/ml/gcc-patches/1999-12n/msg00664.html

and decided to try the test case (it needs a correction...test.C is
missing a 

#include 

I found the following. I can compile it with either gcc 3.0.4 with
the g++-cxa-atexit.dpatch patch or with my own local copy of gcc 3.1
which has the g++-cxa-atexit.dpatch removed. In either case I get..

In main
In shared object
Back in main
Shared object going away...
Goodbye, world.

I also built the test programs on entropy.crashing.org using
Franz Sirl's toolchain that uses an srpm that also doesn't use

int flag_use_cxa_atexit = 1;

In that case it also passes the test case properly. It seems to me
that if the only reason we included the g++-cxa-atexit.dpatch
was to satisfy the known problem...

Global destructors are not run in the correct order.

Global destructors should be run in the reverse order of their constructors 
completing. In most cases this is the same as the reverse order of constructors 
starting, but sometimes it is different, and that is important. You need to 
compile and link your p

...that we don't need this patch and it is undesirable because
1) no other distro is using it and FSF has this flag off by default
in all compiler releases
2) it currently causes breakage in binutils

 Jack
--
Jack W. Howarth, Ph.D.231 Albert Sabin Way
NMR Facility Director  Cincinnati, Ohio 45267-0524
Dept. of Molecular Genetics  phone: (513) 558-4420
Univ. of Cincinnati College of Medicinefax: (513) 558-8474


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




Bug#148651: gcc 3.1-2 patch breaks binutils builds

2002-06-01 Thread Jack Howarth
  HJ Lu has requested that we regress out the g++-cxa-atexit.dpatch
patch. He says that he doesn't intend to fix binutils to resolve
the breakage because all glibc > 2.2 have been providing a completely
usable __cxa_atexit via atexit making the use of -fuse-cxa-atexit
unncessary. That is also why I am able to pass the original test
case from...

http://gcc.gnu.org/ml/gcc-patches/1999-12n/msg00664.html

without the g++-cxa-atexit.dpatch patch in my gcc 3.1
and without using -fuse-cxa-atexit. 
  Apparently debian are the only distro to use the gcc
provided __cxa-atexit and it hasn't been throughly
tested compared to the glibc provided one. If you have
any questions on this you can ask HJ Lu  <[EMAIL PROTECTED]>.
   Jack


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




Bug#148651: gcc 3.1-2 patch breaks binutils builds

2002-06-01 Thread Jack Howarth
   One other thing. When we drop the g++-cxa-atexit.dpatch
patch from gcc 3.1, we should change the debian/control to make
gcc build depend and depend on a glibc >= 2.2. This is the
requirement to ensure that __cxa_atexit is provided via
atexit from glibc. 
   Jack


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




Re: is g++-cxa-atexit.dpatch still needed

2002-06-02 Thread Jack Howarth
Martin,
   Have you tried running the orginal test case from

http://gcc.gnu.org/ml/gcc-patches/1999-12n/msg00664.html

with gcc 3.1 built without the g++-cxa-atexit.dpatch.
Both HJ Lu and Jakub Jelinek have been trying to make
clear that since glibc 2.2 the -fuse-cxa-atexit is unnecessary
because __cxa_atexit is no provide through the glibc 
atexit call. That is why you can build gcc 3.1 without
the patch and it passes the test case with or without
being compiled with -fuse-cxa-atexit. The patch is totally
uncessary.
  Jack
---
>From [EMAIL PROTECTED]  Sat Jun  1 22:16:07 2002
Date: Sat, 1 Jun 2002 19:15:36 -0700
From: "H . J . Lu" <[EMAIL PROTECTED]>
To: Jack Howarth <[EMAIL PROTECTED]>
Subject: Re: PATCH: Add --enable-__cxa_atexit
References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL 
PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <[EMAIL PROTECTED]>; from [EMAIL PROTECTED] on Sat, Jun 01, 2002 
at 09:08:54PM -0400

On Sat, Jun 01, 2002 at 09:08:54PM -0400, Jack Howarth wrote:
> HJ,
> I have gone back over the debian mailing list and found
> the origin of their g++-cxa-atexit.dpatch which does...
> 
> --- src/gcc/cp/decl2.c~   Wed Jun  6 23:51:11 2001
> +++ src/gcc/cp/decl2.cSat Jun 23 13:40:36 2001
> @@ -401,7 +401,7 @@
>  /* Nonzero to use __cxa_atexit, rather than atexit, to register
> destructors for local statics and global objects.  */
>  
> -int flag_use_cxa_atexit;
> +int flag_use_cxa_atexit = 1;
>  
>  /* Nonzero to not ignore namespace std. */
>  
> The origin is in...
> 
> http://lists.debian.org/debian-gcc/2001/debian-gcc-200106/msg00126.html
> http://gcc.gnu.org/ml/gcc-patches/1999-12n/msg00664.html
> 

It isn't needed by the current glibc. I will recommend to drop this
patch from Debian's gcc. I won't apply that patch to my gcc 3.1 nor do
any tests with it.


H.J.

-
>From [EMAIL PROTECTED]  Sat Jun  1 22:24:27 2002
Date: Sat, 1 Jun 2002 19:23:57 -0700
From: "H . J . Lu" <[EMAIL PROTECTED]>
To: Jack Howarth <[EMAIL PROTECTED]>
Subject: Re: debian
References: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <[EMAIL PROTECTED]>; from [EMAIL PROTECTED] on Sat, Jun 01, 2002 
at 05:32:24PM -0400

On Sat, Jun 01, 2002 at 05:32:24PM -0400, Jack Howarth wrote:
> HJ,
>Debian has just upgraded to gcc 3.1.1-pre1 from the cvs but it seems
> they still have the patch for using __ca_atexit in place. Are you going
> to try a gcc build there with that feature enabled and debug binutils
> to see why the testsuite has the s records failure?
>I ask because the traffic on the gcc mailing list was confused yesterday.
> I got the impression in the end that you had decided to try to help
> regress all use of __ca_atexit out of gcc or was that incorrect? Do other

But Jakub convinced me that Linux doesn't need __ca_atexit from gcc.
I decided not to bother.

> OS's beside linux need that? I know it was claimed that atexit in linux
> was as fast as __ca_atexit but I was unclear if some other OS needed that
> to be retained in gcc. Thanks for any clarification.

Any OS which has __ca_atexit can make its atexit safe. From glibc:

/* This is defined by newer gcc version unique for each module.  */
extern void *__dso_handle __attribute__ ((__weak__));


/* Register FUNC to be executed by `exit'.  */
int
atexit (void (*func) (void))
{
  return __cxa_atexit ((void (*) (void *)) func, NULL,
   &__dso_handle == NULL ? NULL : __dso_handle);
}


H.J.


>From [EMAIL PROTECTED]  Sat Jun  1 22:43:59 2002
Date: Sat, 1 Jun 2002 19:43:28 -0700
From: "H . J . Lu" <[EMAIL PROTECTED]>
To: Jack Howarth <[EMAIL PROTECTED]>
Subject: Re: PATCH: Add --enable-__cxa_atexit
References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL 
PROTECTED]> <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <[EMAIL PROTECTED]>; from [EMAIL PROTECTED] on Sat, Jun 01, 2002 
at 10:31:46PM -0400

On Sat, Jun 01, 2002 at 10:31:46PM -0400, Jack Howarth wrote:

> patch is totally unnecessary. I am still quite puzzled as to why
> the test case pases with or without -fuse-cxa-atexit and the
> a.out seems to have _use_cxa_atexit in it in both cases. This 
> seems to suggest that gc

Re: Bug#148651: gcc 3.1-2 patch breaks binutils builds

2002-06-02 Thread Jack Howarth
Martin,
As I said in my previous message, we are NOT losing __cxa_atexit.
By dropping the current patch we are using the __cxa_atexit
provided by glibc >= 2.2 instead of the one provided by gcc itself.
That is what HJ and Jakub are trying to make debian understand.
The using gcc to provide  __cxa_atexit is totally unneccessary with
the newer glibc's. If we want to be difficult we can keep the patch
but I think we are on our own in fixing the conflict between the
gcc provided __cxa_atexit and binutils. The only reason to keep the
patch is if we had an OS which didn't provide __cxa_atexit through
glibc (i.e. one that used an alternative to glibc for its libc or
was using glibc < 2.2).
Jack


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




Re: is g++-cxa-atexit.dpatch still needed

2002-06-02 Thread Jack Howarth
   Here is another message from Jakub on the complete unnecessity
of debian using the patch...
Jack
---
>From [EMAIL PROTECTED] Sun Jun  2 01:15:44 2002
Date: Sun, 2 Jun 2002 07:15:44 +0200
From: Jakub Jelinek <[EMAIL PROTECTED]>
To: Jack Howarth <[EMAIL PROTECTED]>
Cc: gcc@gcc.gnu.org
Subject: Re: why debian uses --use-cxa-atexit
Reply-To: Jakub Jelinek <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5.1i
In-Reply-To: <[EMAIL PROTECTED]>; from [EMAIL PROTECTED] on Sat, Jun 01, 2002 
at 07:21:20PM -0400

On Sat, Jun 01, 2002 at 07:21:20PM -0400, Jack Howarth wrote:
>I've gone back through the debian-gcc mailing list and found
> the origin of debian using --use-cxa-atexit in their gcc 3.x
> compiler builds. It is in the thread starting with...
> 
> http://lists.debian.org/debian-gcc/2001/debian-gcc-200106/msg00126.html
> 
> which basically says that they are using --use-cxa-atexit because
> global destructors are not run in the correct order. They got this
> from http://gcc.gnu.org/bugs.html#known which has...
> 
> Global destructors are not run in the correct order.
> 
> Global destructors should be run in the reverse order of their
> constructors completing. In most cases this is the same as the reverse
> order of constructors starting, but sometimes it is different, and that
> is important. You need to compile and link your programs
> with --use-cxa-atexit. We have not turned this switch on by default, as
> it requires a cxa aware runtime library (libc, glibc, or equivalent).
> 
> Is this information still accurate for gcc 3.1? It would seem this is the 
> only reason debian is using --use-cxa-atexit. Thanks for any clarifications.

It is not about being or not being accurate for gcc 3.1, it is about glibc
2001-02-26 or later having:

/* This is defined by newer gcc version unique for each module.  */
extern void *__dso_handle __attribute__ ((__weak__));

/* Register FUNC to be executed by `exit'.  */
int
atexit (void (*func) (void))
{
  return __cxa_atexit ((void (*) (void *)) func, NULL,
   &__dso_handle == NULL ? NULL : __dso_handle);
}

/* Hide the symbol so that no definition but the one locally in the
   executable or DSO is used.  */
#ifdef HAVE_DOT_HIDDEN
asm (".hidden\tatexit");
#endif

in /usr/lib/libc_nonshared.a (and exporting atexit from libc.so only
as compatibility symbol version, so nothing newly linked can use it).

Jakub

---


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




Bug#148651: gcc 3.1-2 patch breaks binutils builds

2002-06-02 Thread Jack Howarth
   Hello. Will you guys actually try building a gcc 3.1 without
the patch and testing a test case before you close this bug
again. Please reference the slew of quoted messages in the
debian-gcc mailing list from HJ Lu and Jakub Jelinek. The current
glibc (>= 2.2) provides __cxa_atexit and Linux and any other os
using a libc which provides __cxa_atexit does NOT need to utilize
gcc to provide the same thing. HJ Lu is very clear in that he
will not debug this issue with binutils because our usage of the
__cxa_atexit from gcc instead of the copy provided by glibc via
atexit is completely unneccessary. Gee, this is like beating my
head against the wall here.
 Jack
ps Just try rebuilding gcc 3.1.1 WITHOUT the patch and try the
test case before you close this bug again...please.


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




gcc 3.1 vs XF4.2

2002-07-13 Thread Jack Howarth
Hello,
   Has anyone else tried to rebuild Branden's test xfree86 4.2.0-0pre1v1
packages against the current gcc 3.1.1? On debian ppc sid, I find that
while the build appears to work in general there is at least one glitch
compared to the gcc 2.95.4 build. I see under the gcc 3.1 packages the
following failure in /var/log/XFree86.0.log

(II) LoadModule: "GLcore"
(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a
No symbols found in this module
Failed to load debug_xform.o
(EE) Failed to load /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) UnloadModule: "GLcore"
(EE) Failed to load module "GLcore" (loader failed, 270336000)

When I do nm on the gcc 3.1 built libGLcore.a I see...

debug_xform.o:


compared to...

debug_xform.o:
 t gcc2_compiled.

for the gcc 2.95.4 built one. Anyone had any idea why the loader 
should be having such problems just because one of the object
files used to create libGLcore.a has no symbols in it? Thanks for
advice.
   Jack


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




Bug#154369: gcc 3.1.1 upstream

2002-07-26 Thread Jack Howarth
Package: gcc-3.1
Version: 1:3.1.1-0pre3

The official gcc 3.1.1 release tarballs are now available 
at gcc.gnu.org's ftp site in /pub/gcc/releases/gcc-3.1.1.
Can we get a new build with of this package with the official
release?



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




Bug#154369: gcc 3.1.1 upstream

2002-07-26 Thread Jack Howarth
   Sorry. I posted it because there appears to be a lag
between when the tarballs are posted and the announcement
of their availablity. The gcc 3.1.1 announcement still hasn't
been made...perhaps to allow the mirrors to populate. In any
case, this was more of a wishlist bug report and a heads up 
on the un-announced availibilty of the tarballs.
   Jack


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




Bug#154369: gcc 3.1.1 upstream

2002-07-26 Thread Jack Howarth
Phil,
   Actually, it looks like it will be trivial to build these packages
anyway. Using the release tarball and the current debian directory from
the last gcc-3.1-3.1.1ds2 pre3 build, all of the patches apply cleanly.
So all anyone needs to is 'apt-get source gcc-3.1', replace the
gcc-20020703.tar.bz2 with the release gcc-3.1.1.tar.bz2 and add
a changelog entry. Nice.
Jack


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




re: Coexistence of gcc 3.2 and gcc 2.95

2002-07-27 Thread Jack Howarth
Martin,
   I think the primary problem debian will have with gcc 3.2 (or
3.1.1 for that matter) is dealing with rebuilding glibc under it.
Because the gcc 3.1 fixed a bug relating to incorrectly linking in
libgcc symbols into binaries, glibc trunk and glibc-2-2-branch have
fixes to address this through a new libgcc-compat file on ppc. Other
arches may have handled this issue in a slightly different manner.
Basically on ppc, we make sure that these libgcc symbols that were
improperly linked in by gcc < 3.1 are exported from glibc now but
only for resolving and not for linking.
   The problem I see if that it is unclear how many arches for linux
have had these changes made. The basic approach is to search all the
binaries on a arch for libgcc symbols and when you have the list
create a libgcc-compat that provides them for resolving but not
for linking.
Again without this addition to glibc for every arch debian has
you will get massive breakage of existing binaries when you install
a gcc > 3.1 built glibc. With it, the problem is a non-issue. 
As I said these changes have been made in glibc-2-2-branch for ppc,
but I'm unclear how many other arches have have the changes migrated
back from the glibc cvs trunk into glibc-2-2-branch.
 Jack
ps You can see the overall scheme of this from...

http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/powerpc/libgcc-compat.c?rev=1.1.2.3&content-type=text/x-cvsweb-markup&cvsroot=glibc&only_with_tag=glibc-2-2-branch

http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/powerpc/Versions.diff?r1=1.2&r2=1.2.2.1&cvsroot=glibc&only_with_tag=glibc-2-2-branch



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




gcc 3.1.1 to 3.2 transition

2002-07-29 Thread Jack Howarth
I noticed that the new gcc-3.1_3.1.1ds3-1 changelog notes that
gcc 3.1.1 will go away when 3.2 arrives. Do we plan on having a period
of time (say a month) where both 3.1.1 and 3.2 will co-exist in the 
sid pool? That might be a good idea to allow folks to recompile any
packages that they might have built under gcc 3.1.1 with 3.2 instead.
I mention this because on ppc we have our openoffice.org package
currently built under gcc 3.1.1 and it would be a cleaner transition
if gcc 3.1.1 didn't instantly disappear when gcc 3.2 arrived in the
pool.
Jack


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




Re: gcc 3.1.1 to 3.2 transition

2002-07-29 Thread Jack Howarth
Daniel,
   Well if gcc 3.1.1 instantly disappears the moment gcc 3.2 hits the pool,
won't that force openoffice/stl to deinstall on a dist-upgrade? It would
nicer if we allows folks a grace period for their apps to get rebuilt
before yanking the supporting libs they need.
  Jack
ps The grace period could be shorter, perhaps a week or even a few days,
but I don't know if it is good to pull gcc 3.1.1 the moment 3.2 hits.


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




Re: gcc 3.1.1 to 3.2 transition

2002-07-29 Thread Jack Howarth
Daniel,
   What about the libgcc_s.so.1? I assume we are assured of compatibility
in using a libgcc_s.so.1 from gcc 3.2 with binaries built with gcc 3.1.1
then?
   Jack


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




re: gcc 3.1 vs XF4.2

2002-07-29 Thread Jack Howarth
   In case anyone is interested, I finally pinned down why the
GL server extension, libGLcore.a, from the XFree86 4.2.0-0pre1v1
package built under gcc 3.1.1 doesn't load properly. It appears
that when building under gcc 3.1.1, we become like alpha on ppc
and can no longer do a 'strip --strip-debug' on all of the
server extensions. So far it appears that libGLcore.a is the only
problem one on ppc. Anyway, at least we have a workaround for that
so when sid goes to gcc 3.2 we don't have to worry about XFree86
breakage on ppc now.
  Jack


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




gcc 3.1.1 borked on voltaire

2002-08-01 Thread Jack Howarth
What happened to the gcc 3.1.1 build on debian ppc sid? It looks
horribly broken from the log. I ask because I built locally a
gcc 3.1.1 package using the previous pre3 debian packaging patches
and rules and the gcc 3.1.1 official release tarballs. It built
fine and passes all of the test suite as well as Franz Sirls 
redhat based builds of gcc 3.1.1 release did. I see only 2 
unexpected gcc failures here whereas voltaire gets 14. Worse I get
1 unexpected libjava failure here and voltaire gets 697. Wow.
The only major difference I can think of is that I am using
a locally built binutils 2.12.90.0.15 instead of whats in sid.
Jack




Re: gcc 3.1.1 borked on voltaire

2002-08-02 Thread Jack Howarth
Well it doesn't look like its binutils so far. I tried building
the current gcc-3.1-3.1.1-ds3 source package against current debian
sid and my local 2.12.90.0.15 binutils and it fails in the same
manner. I am now rebuilding my local gcc-3.1.1 package which is based
on the debian rules/patches dir from gcc-3.1-3.1.1-0pre3 with the
release gcc 3.1.1 tarball. That built fine last week but I want to
make sure something isn't broken somewhere else in sid. I saw that
last week the first time when I built it when groff was broken and
caused two additional gcc testsuite failures before it was fixed in
a -2 release. I also doubt binutils is directly at fault because 
using dpkg-deb -x I looked at the current binutils-2.12.90.0.14-2
test-summary.gz for the powerpc build and it shows no errors. So
it doesn't make much sense for it to be binutils if that is the 
case. Lastly, looking through which arches passed and failed on their
gcc-3.1 builds there is no pattern. Some failed with the .14-2 
binutils installed and some passed with the .14-12 binutils installed.
Anyway I'll let everyone know if my rebuild of my local gcc 3.1.1 release
package is successful...if that is the case the problem should lie in
the gcc-3.1-3.1.1-ds3 package and not elsewhere in sid.
Jack




Re: gcc 3.1.1 borked on voltaire

2002-08-02 Thread Jack Howarth
Chris and Matthias,
   It appears that binutils is definitely not the culprit with
gcc-3.1-3.1.1ds3-1's failure on debian ppc sid. I see the same
failure with the build of gcc-3.1-3.1.1ds3-1 on my machine with
a locally built binutils 2.12.90.0.15 installed as we do on
voltaire. However, I still am able to build the gcc 3.1.1 release
package I rolled from the release tarball and the debian patches/rules
from gcc-3.1-3.1.1ds2-0pre3. So there doesn't appear to be a 
problem with debian sid in general as far as building gcc 3.1.1 is
concerned. The resulting gcc 3.1.1 passes the testsuite as well as
it did last week when I last built my custom package. This all suggests
that some additional patches have been added to gcc-3.1-3.1.1ds3-1 since
gcc-3.1-3.1.1ds2-0pre3 and that is causing the breakage.
  Jack




Re: How to get Debian to gcc-3.2 ....

2002-08-11 Thread Jack Howarth
Jan,
   There definitely will be an issue with rebuilding glibc against
either gcc 3.1.1 or 3.2 on at least two, if not more, arches. The
problems arise from the change in gcc 3.1 which makes libgcc symbols
.hidden now. This means that if you rebuild the current glibc 
2.2.5-13 with gcc 3.1.1/3.2, old binaries will no longer have
these symbols resolved for them if linked in. Currently we have 
a first generation patch checked into glibc-2-2-branch that addresses
this on ppc. I believe ia64 only has this change in the main trunk
and not backported into glibc-2-2-branch.
  Franz Sirl just completed a new version of the libgcc-compat patch
for glibc-2-2-branch that hasn't made it in yet. The new version is
coupled with a versioning fixup for gcc 3.2 which will keep the
versioning the same for these libgcc symbols as it was under gcc 2.95.4.
Unfortunately this change tickled a bug in binutils which HJ Lu has
tentatively fixed and will be in the next binutils. If all goes well,
on ppc at least, we should have the second generation libgcc-compat
patch in glibc-2-2-branch, the versioning fixup in gcc 3.2 and 
all the fixes needed in the next binutils from HJ Lu. 
  If you want to read up on these the related threads are...

http://sources.redhat.com/ml/libc-alpha/2002-04/msg00025.html

...original description of the problems with the .hidden symbols
was found in this thread (in a convoluted discussion)...

http://sources.redhat.com/ml/libc-alpha/2002-05/msg00067.html

...development of the 1st generation libgcc-compat patch on ppc 
is in this thread...

http://gcc.gnu.org/ml/gcc-patches/2002-08/msg00252.html

...thread describe Franz's proposed fixup for the gcc 3.2 libgcc
symbol versioning...

http://sources.redhat.com/ml/binutils/2002-08/msg00173.html
http://sources.redhat.com/ml/binutils/2002-08/msg00173.html
http://sources.redhat.com/ml/binutils/2002-08/msg00175.html

...threads describing the binutils bug we tickled when moving
to Franz's new revised libgcc-compat patches.
For non-ppc arches the binutils stuff probably isn't of
interest except that we found some real binutils bugs and got
them fixed. However each debian arch will need to evaluate if
they have to deal with the .hidden libgcc symbols by adding
a libgcc-compat patch to glibc 2.2.5. Again so far glibc-2-2-branch
only has this addressed (and not in the most updated form) for
ppc. You could look in glibc main trunk and see if any other arches
besides ia64 have added patches there as the form is essentially the
same in 2.2.90 or 2.2.5.
I am hoping we can have ppc go first to gcc 3.2 as we seem to
been most aggressive in addressing these backward compatibility issues
with libgcc symbols in glibc and should be able to rely on stock
release gcc 3.2, release binutils and current glibc-2-2-branch cvs
to get all the appropriate fixes in place.
   Jack
ps I have been testing HJ Lu's new binutils fixes to 2.13.90.0.3 
with Franz's most recent libgcc-compat patches applied to glibc
2.2.5-13 this weekend. I am able to build binutils and glibc
with all passing make check fine. I also just built gcc 3.2 with
Franz's proposed fixup for symbol versioning and the resulting
test-summary looks fine as well. The gcc failures I get are...

FAIL: gcc.dg/20020103-1.c scan-assembler-not LC
FAIL: gcc.dg/20020118-1.c execution test
FAIL: gcc.dg/format/ext-3.c bad %^# (test for warnings, line 215)
FAIL: gcc.dg/format/ext-3.c (test for excess errors)

...unexpected only of course. The rest all look identical to what I
get for gcc 3.1.1.




Re: provide symbols .hidden in gcc 3.1/3.2 when building glibc for ppc

2002-08-13 Thread Jack Howarth
Okay, HJ Lu has helped resolve the remaining issues in our transition to
building glibc under gcc 3.2. There have been several critical binutils
bugs fixed related to this issue that Chris Chimelis will get into the
next binutils package. The remaining portion of this is the attached patch
from Franz Sirl that will be going into glibc-2-2-branch. I will attempt to
explain the rational of these changes so you understand their importance.
   Previous to gcc 3.1, gcc was exporting certain libgcc symbols, in error,
for linking. Starting with gcc 3.1, these symbols are now .hidden. This means
that if glibc is rebuilt with gcc >= 3.1, old binaries expecting to have
these symbols resolved will fail. In order to address this, ia64 and ppc
have provided libgcc-compat code in glibc to present these symbols for 
resolution at run-time but not linking. The current glibc-2-2-branch as
of yesterday is insufficient to properly do this as Ulrich demands that
such symbols not be exported for linking. Unfortunately the current
patch there for this libgcc-compat code exports several of these symbols
for linking. The attached patch stops this behavior limiting all the
libgcc-compat symbols to just run-time resolution.
   In getting to the patch attached below we tickled several
obscure binutils bugs with HJ Lu has been kind enough to fix
and check into binutils cvs...

http://sources.redhat.com/ml/binutils/2002-08/msg00175.html
http://sources.redhat.com/ml/binutils/2002-08/msg00217.html
http://sources.redhat.com/ml/binutils/2002-08/msg00221.html

..these patches are essential! Without them binutils will either
have problems linking other programs (complaining in error about
duplicate symbols with __divdi3) and creating a libgcc_s.so.1
in gcc 3.2 with a properly versioned __divdi3 symbol.
   As soon as Chris has released the next binutils package and either
we use the attached patch or resample upstream from glibc-2-2-branch
for the same patch, we will be set to start building with gcc 3.2 on
ppc. It would be very good idea for us to get this resolved in 
2.2.5-14, because current glibc-2-2-branch is exporting versioned 
symbols for __divdi3, and few others, with a GLIBC_2.0 versioning.
This didn't happen in glibc prior to glibc 2.2.5-14 and it won't 
after we add the patch below (which makes those symbols run-time
resolution only). It would be best if we don't muck around and
build a bunch of stuff on ppc against current glibc-2-2-branch without
the fix so as not to have to worry about those symbols.
   Let me know if you have any specific questions. The process is
really simple..

1) updated binutils from HJ or 2.13.90.0.3 with binutils-version-add and
bfd-version-dso patches from this weekend and today.
2) add in glibc-libgcc-compat-ppc-8-2_2d from below or resample
glibc-2-2-branch once Franz has it in.
3) add a depends to gcc 3.2 for the binutils (>=2.13.90.0.4) and
for glibc (>=2.2.5-14). This step is essential to prevent the
build machines from using gcc-3.2 to build against the wrong,
i.e. old, binutils and/or libc accidentally.

Thanks in advance for helping get this transition to gcc 3.2
correctly done on ppc.
  Jack
--
#! /bin/sh -e

# All lines beginning with `# DP:' are a description of the patch.
# DP: Fix "/usr/include/bits/string2.h:419: 
# DP: warning: pointer of type `void *' used in arithmetic"
if [ $# -ne 2 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0

Index: sysdeps/powerpc/Makefile
===
RCS file: /cvs/glibc/libc/sysdeps/powerpc/Makefile,v
retrieving revision 1.13.2.1
diff -u -p -r1.13.2.1 Makefile
--- sysdeps/powerpc/Makefile21 May 2002 00:28:35 -  1.13.2.1
+++ sysdeps/powerpc/Makefile6 Aug 2002 08:20:52 -
@@ -36,6 +36,10 @@ CFLAGS-gmon-start.o = -G0
 endif
 ifeq (yes,$(build-shared))
 # Compatibility
+ifeq (yes,$(have-protected))
+CPPFLAGS-divdi3.c = -DHAVE_DOT_HIDDEN
+CPPFLAGS-libgcc-compat.S = -DHAVE_DOT_HIDDEN
+endif
 sysdep_routines += divdi3 libgcc-compat
 shared-only-routines += divdi3 libgcc-compat
 endif
--- /dev/null   Thu Oct  4 06:30:44 2001
+++ sysdeps/powerpc/libgcc-compat.S Tue Aug  6 01:15:38 2002
@@ -0,0 +1,148 @@
+/* pre-.hidden libgcc compatibility
+   Copyright (C) 2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any l

Re: provide symbols .hidden in gcc 3.1/3.2 when building glibc for ppc

2002-08-13 Thread Jack Howarth
To give you fellows a better idea of the symbol issues we are
dealing with on powerpc in glibc for the transition to gcc 3.2, 
consider the differences below...

for stock glibc 2.2.5-13 (no libgcc-compat code at all)...

[EMAIL PROTECTED]:~$ objdump --dynamic-sym /lib/libc.so.6 | grep __divdi3
[EMAIL PROTECTED]:~$ 

...no symbols in /lib/libc.so.6 for __divid3.

for glibc 2.2.5-13 plus the glibc-2-2-branch version of the libgcc-compat
code...

[EMAIL PROTECTED]:~$ objdump --dynamic-sym /lib/libc.so.6 | grep __divdi3

000266b0 g    DF .text00c8  GLIBC_2.0   __divdi3

...a __divdi3 exported for linking and run-time resolution.
  

for a glibc 2.2.5-13 plus the proposed new libgcc-compat code
(libgcc-compat.S instead of libgcc-compat.c)...

[EMAIL PROTECTED]:~$ objdump --dynamic-sym /lib/libc.so.6 | grep __divdi3

00026680 g    DF .text00c8 (GLIBC_2.0)  __divdi3

...a __divdi3 NOT exported for linking BUT available for run-time
resolution (note "()"s on the GLIBC_2.0 versioning).

When the libgcc-compat code was discussed one demand Ulrich
had was that all the libgcc-compat symbols must NOT be exported for 
linking! So we really want to avoid using current glibc-2-2-branch's 
sysdeps/powerpc/libgcc-compat.c but use the sysdeps/powerpc/libgcc-compat.S
version instead. Otherwise we will start, temporarily until the correct
fix goes into glibc, exporting __divdi3 for linking from libc.so.6
and then stop when the fix goes in. It is better to skip this potential
breakage and adopt the correct fix.
Again note that the correct fix in the upcoming patch,
glibc-libgcc-compat-ppc-8-2_2d, from Franz Sirl avoids this issue
by only making the __divdi3, and several other symbols, available
for run-time resolution and NEVER for linking from inside glibc.
The libgcc-compat.S version also is optimized which the old one isn't.
Thanks in advance again.
Jack




Bug#156662: gcc 3.2 will need Depends and Build-Depends on binutils and glibc versions for ppc

2002-08-14 Thread Jack Howarth
Package: gcc-3.2
Version: 3.2_3.2-0pre4
Severity: grave

On ppc, there will be version requirements, for properly building
and installing gcc-3.2, on the glibc and binutils installed. See
bug report 155606 for a description of this issue. The needed binutils
will likely be version 2.13.90.0.4-1 and, with luck and 
cooperation, the correct libgcc-compat.S patches will be in
glibc 2.2.5-14. Without the Build-Depends on both these versions
of binutils and glibc, a libgcc_s.so.1 will be created with
missing versioning on the __divdi3 symbol on ppc. Also without
the Depends on these versions of glibc and binutils, there 
can be problems building programs with gcc 3.2 on ppc due to
bugs in binutils fixed in current binutils-cvs (and the next
release, 2.13.90.0.4). Specifically, binutils will incorrectly
report a symbol conflict on __divdi3 which doesn't exist when
libc.so.6 is really only providing __divdi3 for run-time 
resolution and NOT for linking. This has been fixed in binutils-cvs. 
If we don't add the Build-Depends on binutils (>= 2.13.90.0.4)
and glibc (>= 2.2.5-14) for gcc-3.2 , we won't be able to properly
build gcc-3.2 against glibc 2.2.5-14 with the corrected
libgcc-compat.S code. If we don't add the Depends on the above
binutils and glibc versions, when gcc-3.2 becomes the default
compiler for builds in debian sid on ppc, we risk the build 
machine getting out of sync and not building able to link programs.
Thanks in advance for slating this for the final gcc-3.2 release
(after Chris releases the new 2.13.90.0.4 binutils when it arrives
and glibc adopts the needed libgcc-compat patch from bug report
155606 or resamples glibc upstream once Franz Sirl has that 
added there). 
  Jack
ps Franz Sirl should be submitting his patch to libc-alpha today.




Bug#156734: Build-Depends should accept gnat-3.2

2002-08-14 Thread Jack Howarth
Package: gcc-3.2
Version: 3.2ds0-0pre4

The Build-Depends in debian/control should have 

gnat-3.1 [!arm !hurd-i386 !m68k] | .gnat-3.2 [!arm !hurd-i386 !m68k] 

since gcc-3.2 might already be installed.








how to find symbols needed for libgcc-compat in glibc

2002-08-15 Thread Jack Howarth
Hi,
   I am not filing a bug on this right now, but you should
all be aware that any arch that wants to switch to gcc 3.2
as its default compiler will need to address the following
issue. The libgcc symbols starting in gcc 3.1 are now .hidden
which means breakage of old binaries occurs when gcc 3.1/3.2
rebuilds glibc. Both ia64, in glibc trunk, and ppc, in glibc trunk
and glibc-2-2-branch, have this addressed. Franz and Jakub used
scripts to search for the list of symbols that needed to go
into the sysdeps//libgcc-compat.S code. Jakub describes
this procedure as follows...

-
Basically, you take the list of libgcc.a (formerly) exported symbols
and scan all binaries/libraries if they have undefined references to any
of these symbols (as libc.so exports those on ia32/sparc and a few
others only, they will not be exported on other arches from libc, thus
are resolved to some unintentionally exported symbol in some other library
which is going away after rebuild with 3.2).

Jakub
-

Unfortunately, both Franz and Jakub have long ago thrown out
the scripts they used to do this. It doesn't effect gcc 3.2
going into sid, because gcc 3.1.1. has exactly the same issue.
However each arch has to address this before they switch to
gcc 3.2 as their default compiler in sid. At the time this was
looked at, Jakub only bothered with those arches which he deemed
to have a large enough user base to bother with. It is unclear
how many arches have been checked at this point other than
ia64 and ppc; I am assuming i386 must be okay.
   Jack
ps The threads in libc-alpha discussing this are...

http://sources.redhat.com/ml/libc-alpha/2002-04/msg00025.html
http://sources.redhat.com/ml/libc-alpha/2002-05/msg00067.html

Note that Franz has just re-written his libgcc-compat code
to be in the same form as the ia64 one in gcc trunk. He will
be checking the patch in for the new sysdeps/powerpc/libgcc-compat.S
version today. On ppc we will have all the fixes in glibc-2-2-branch.
The ia64 folks will have to backport from glibc trunk to 2.2.5
on their own as Jakub didn't think it was worth putting in the
glibc-2-2-branch.




Re: how to find symbols needed for libgcc-compat in glibc

2002-08-15 Thread Jack Howarth
   Actually Jakub sent me the following e-mail just 
a few moments ago...

--
On Thu, Aug 15, 2002 at 08:28:18AM -0400, Jack Howarth wrote:
> Jakub,
>Can I assume you actually checked all the other 
> arches that redhat has shipped a linux for 
> (sparc, alpha, etc) for the need for a libgcc-compat?
> Or did you really just look at ia64 only? Also I
> am assuming that intel is okay.

IA-32/Alpha/Sparc (32-bit) should be just fine.
Sparc (64-bit) is not common enough yet and 3.2 is good minimal
compiler for anybody going 64-bits on SPARC.
Don't know about s390/s390x, but no problems have been reported there AFAIK.

Jakub
--
In case anyone is interested... 
  Jack




Bug#156662: gcc 3.2 will need Depends and Build-Depends on binutils and glibc versions for ppc

2002-08-15 Thread Jack Howarth
Matthias,
Well actually it will effect builds as soon as glibc 2.2.5-14
goes in with the correct sysdeps/powerpc/libgcc-compat.S code
(which hopefully Franz will push today into glibc-2-2-branch).
The current glibc 2.2.5-13, built under gcc 2.95.4, in libc.so.6
doesn't have a dynamic symbol for __divdi3. So building gcc 3.2 
with gcc 2.95.4 against that presents no problem. However once glibc
2.2.5-14 is installed, with the corrected sysdeps/powerpc/
libgcc-compat.s code, there will definitely be a Build-Depends on
binutils >= 2.13.90.0.4. The libc.so.6,  built from the new
libgcc-compat.S code, will have a dynamic symbol for __divdi3
(available for run-time resolution but NOT exported for
linking). If you try to build gcc 3.2 with a binutils
earlier than 2.13.90.0.4 against such a libc.so.6, you will
end up with a flawed libgcc_s.so.1 with an unversioned __divdi3
symbol (which, if you look, is not the case with the current
gcc 3.2 builds off of voltaire). With the new binutils
2.13.90.0.4 release or later the __divdi3 will be correctly
versioned in libgcc_s.so.1 as GLIBC_2.0.
So there definitely is at least a Build-Depends for 
binutils (>= 2.13.90.0.4) required for gcc 3.2 on ppc.
Granted it isn't required today, but it will be the moment
glibc 2.2.5-14 is installed. Note that this issue is
exactly what Franz Sirl's rejected versioning fixup patch
was all about...

http://gcc.gnu.org/ml/gcc-patches/2002-08/msg00252.html

Franz just didn't realize that the problem he was observing
,in building a proper libgcc_s.so.1 against his new corrected
libgcc-compat.S code was due to a binutils bug. No changes
in gcc 3.2 were required to fix it.
Jack
ps So gcc-3.2 needs a Build-Depends for binutils (>= 2.13.90.0.4)
on ppc. While glibc 2.2.5-14 doesn't need a Build-Depends, it 
definitely will need a Depends on binutils (>= 2.13.90.0.4). This
is because once you install a libc.so.6 with the new libgcc-compat.S
code (that presents __divdi3 for run-time resolution but not
exported for linking), you will tickle a binutils bug in 
2.13.90.0.3 or earlier. This bug causes a bogus symbol conflict
on the __divdi3 from libc.so.6...

http://sources.redhat.com/ml/binutils/2002-08/msg00173.html
http://sources.redhat.com/ml/binutils/2002-08/msg00175.html

when attempting to build things against that glibc with gcc 2.95.4
Yes, this is all pretty nasty stuff which is why it was so
hard to pinpoint and fix.
In any case, I think we minimally need two changes...

1) gcc-3.2 Build-Depends on binutils (>= 2.13.90.0.4) on ppc 
2) glibc 2.2.5-14 Depends on binutils (>= 2.13.90.0.4) on ppc

The first prevents a flawed libgcc_s.so.1 from getting built
for gcc 3.2. The second prevents bogus link errors against
glibc 2.2.5-14 when building with gcc 2.95.4.




patched expect needed for gcc 3.2 builds

2002-08-15 Thread Jack Howarth
I noticed in building the current debian gcc-3.2 packages that
I was getting a couple failures that Franz Sirl wasn't seeing
on his ppclinux development machine. HJ Lu logged in and confirmed
that these tests were reporting false falures and were in fact passing.
He suggested I consider looking at the redhat bugzilla report...

http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=43310

and try the associated patch. I extracted this patch from the 
current rawhide tcltk package and rebuilt the debian expect
package with it. Using this expect, the false failures disappeared
and I now see exactly the same as Franz Sirl.
The bug report for this and attached patch can be found at...

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=156854

If anyone is seeing suspicious failures in their gcc-3.2 builds
they may want to try such a patched expect to see if they are
caused by the same problem.
Jack




Re: GCC 3.2 transition

2002-08-16 Thread Jack Howarth
Steve,
There shouldn't be huge issues in the gcc 2.95.4 to gcc 3.2 transition.
Currently the only two major ones I know if are...

1) Rebuilding glibc with gcc 3.2 *may* require an arch to add a libgcc-compat
   section to provide libgcc symbols, now .hidden in gcc 3.2's libgcc_s.so,
   with local copies that are resolvable at runtime. Currently ia64 and ppc
   has such code available. This is to prevent breaking old binaries when
   a gcc 3.2 built glibc is installed.
2) Using something like a gcc 2.95.4 built jdk javaplugin (written in c++)
   with a gcc 3.2 built mozilla won't currently work although workarounds
   are said to exist. Since Blackdown JDK 1.4 development is underway
   a gcc 3.2 build JDK won't be far off.

  Jack




new ppc libgcc-compat code in glibc-2-2-branch

2002-08-21 Thread Jack Howarth
gotom,
   The revised gcc-3.2-compatible sysdeps/powerpc/libgcc-compat.S code
is now checked into glibc-2-2-branch. I have built both the straight
glibc-2-2-branch checkout as well as debian glibc packages based off
of the 2.2.5-14 source package, by creating a new cvs patch vs the
current glibc-2-2-branch. In both cases, the glibc builds fine and
passes all of make check. On ppc we are set now for you to do
your glibc-2-2-branch cvs pull for glibc-2.2.5-15. The only caveat
at the moment is that you will need to wait for Chris Chimelis
to push his new binutils 2.13.90.0.4-1 packages into sid. Also
with this new pull from the cvs we will need a Depends added to
glibc on binutils (>=2.13.90.0.4) for the ppc. This is because
the new libgcc-compat code tickles some obscure binutils bugs
when the libc.so.6 from this code is used to build programs
against gcc < 3.1 (e.g. gcc 2.95.4). This bug is described here...

http://sources.redhat.com/ml/binutils/2002-08/msg00173.html
http://sources.redhat.com/ml/binutils/2002-08/msg00175.html
http://sources.redhat.com/ml/binutils/2002-08/msg00180.html

With the new binutils 2.13.90.0.4 and a current pull from
glibc-2-2-branch, debian ppc will be in excellent shape to
be one of the first, if not the first, platform to switch
over to gcc 3.2 builds in debian ppc sid.
Jack
ps FYI, with the new expect 3.80-1 package that was added into
debian sid (fixing a bug causing spurious false failures in
the gcc testsuite), the current gcc 3.2 package in sid now
passes the testsuite correctly (matching the results that
are seen by Franz Sirl).




proposal for the gcc 3.2 transition

2002-08-22 Thread Jack Howarth
Hello,
I would like to make a proposal for one aspect of the
gcc 3.2 migration in sid. A critical part of this transition
will be the discovery of how many arches still require creation
of libgcc-compat code in glibc. Currently we are told by Jakub
Jelinek that i386 is fine. Franz Sirl has just finished ppc in
both branches of the glibc cvs. The ia64 arch has a version available
in the glibc trunk that could be backported. Jakub also said alpha
and sparc32 should be fine (not sure if that needs backported from 
the trunk though into glibc-2-2-branch). The rest will have to be
handled by the arch maintainers here.
After talking to Daniel Stone, I found out that the kde 3.0.3
introduction to sid was being delayed until the gcc 3.2 switchover
has occurred. Since the scheme above will greatly delay kde 3.0.3
being added to sid, I would like to propose the following. Assuming
each arch passes their gcc 3.2 testsuite and the most current binutils
is mandated for use with gcc 3.2, we should be able to short-circuit
the process as follows.

1) adjust the debian/control in glibc to build all arches at their
current gcc < 3.1 regardless if gcc 3.2 is installed.
2) switch the gcc-default to gcc 3.2
3) as each arch can demonstrate that their libgcc-compat issues are
resolved, their arch would be switched over in the glibc debian/control
file to build glibc with gcc 3.2.

This approach has the advantages of making the transition to
gcc 3.2 go much faster while removing the need for each arch
to immediately resolve their issues with libgcc-compat. 
 All comments and suggestions are welcome.
 Jack




Bug#156662: gcc 3.2 will need Build-Depends on binutils

2002-08-23 Thread Jack Howarth
Matthias,
Now that binutils 2.13.90.0.4-1 is installed on the build machines
and debian glibc-cvs has a new pull from the glibc-2-2-branch containing
the new ppc libgcc-compat code, we need to set a Build-Depends
in gcc-3.2 for the next release of the package. This Build-Depends
should be set to binutils(>= 2.13.90.0.4). Currently only ppc absolutely
needs this to build a working gcc-3.2 against debian glibc-cvs. However
as other arches add libgcc-compat code of their own, they will also fall
under this new Build-Depends requirement as well. So I wouldn't really
make the Build-Depends arch specific. Thanks in advance.
  Jack








ppc mozilla patch for gcc 3.1.1/3.2 builds

2002-08-24 Thread Jack Howarth
Daniel,
Just a heads up that Franz Sirl revised his mozilla 1.1 patch
for building with either gcc 3.1.1 or 3.2 on ppc. I have tested
this patch with gcc 3.2-0pre4 on mozilla-snapshot from 07/16/02
and it works fine. A bug report with the attached patch has been
filed against mozilla-snapshot...

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=158077&repeatmerged=yes

..so that should be one more thing we are set to build once
the gcc 3.2 switchover in sid occurs.
Jack




gcc-3.2 control

2002-08-25 Thread Jack Howarth
Matthias,
On reflection, you might want to add a Build-Depends on
expect (>= 3.80-1) to the gcc-3.2 debian/control file to
ensure that none of the build machines ever build against the
older expect from woody which will give spurious false failures
in the test-summary. FYI, I have done yet another rebuild of
gcc-3.2 locally (this time using the release tarball) and the
test-summary is holding fine so we definitely have killed the
source of those false failures with the expect patch.
  Jack




Bug#160093: conflicting file ownership in libstdc++4 and gcc-3.2-nof

2002-09-08 Thread Jack Howarth
Package: libstdc++4
Version: 3.1.1-3

This newest version conflicts with the current gcc-3.2-nof as follows..

Unpacking replacement libstdc++4 ...
dpkg: error processing 
/var/cache/apt/archives/libstdc++4_1%3a3.1.1-3_powerpc.deb (--unpack):
 trying to overwrite `/usr/lib/nof/libsupc++.la', which is also in package 
gcc-3.2-nof
dpkg-deb: subprocess paste killed by signal (Broken pipe)

I had to remove gcc-3.2-nof for libstdc++4 to install.




openoffice breakage on new gcc 3.2.1 snapshot

2002-09-16 Thread Jack Howarth
Hello,
   Is anyone else seeing breakage of OpenOffice.org 1.0.1-5 after
updating gcc-3.2 to the latest 3.2.1-0pre2 from 20020912? I see
lots of errors of the form...

14922:  /usr/lib/openoffice/program/libsal.so.3: error: relocation error: 
undefined symbol: component_canUnload (fatal)

when I do "LD_DEBUG=statistics openoffice".
   Jack




patch failures in gcc-3.2

2002-09-18 Thread Jack Howarth
  Has anyone tried rebuilding the gcc 3.2.1-0pre2 package since
coreutils went in yesterday? I am seeing a patching failure now
on debian ppc sid...

if [ -f stamps/02-patch-stamp-libstdc++-pic ]; then \
  echo "libstdc++-pic patches already applied."; exit 1; \
fi
debian/patches/libstdc++-pic.dpatch -patch -d 
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/src
patching file libstdc++-v3/src/Makefile.am
Hunk #1 succeeded at 188 (offset 37 lines).
patching file libstdc++-v3/src/Makefile.in
Hunk #1 FAILED at 416.
Hunk #2 FAILED at 480.
Hunk #3 FAILED at 497.
3 out of 3 hunks FAILED -- saving rejects to file 
libstdc++-v3/src/Makefile.in.rej
make: *** [stamps/02-patch-stamp-libstdc++-pic] Error 1

This is quite odd..
 Jack




more on patch problem

2002-09-18 Thread Jack Howarth
It appears the rej I am seeing in trying to build the
current gcc-3.2 packages from source is...

bogus:/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/src/libstdc++-v3/src# more 
Makefile.in.rej
***
*** 416,422 
  installcheck: installcheck-am
  install-info-am: 
  install-info: install-info-am
- install-exec-am: install-toolexeclibLTLIBRARIES
  install-exec: install-exec-am
  
  install-data-am:
--- 416,422 
  installcheck: installcheck-am
  install-info-am: 
  install-info: install-info-am
+ install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
  install-exec: install-exec-am
  
  install-data-am:
***
*** 480,486 
  clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
  distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
  dvi-am dvi check check-am installcheck-am installcheck install-info-am \
- install-info install-exec-am install-exec install-data-am install-data \
  install-am install uninstall-am uninstall all-redirect all-am all \
  installdirs mostlyclean-generic distclean-generic clean-generic \
  maintainer-clean-generic clean mostlyclean distclean maintainer-clean
--- 480,486 
  clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
  distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
  dvi-am dvi check check-am installcheck-am installcheck install-info-am \
+ install-info install-exec-local install-exec-am install-exec install-data-am 
install-data \
  install-am install uninstall-am uninstall all-redirect all-am all \
  installdirs mostlyclean-generic distclean-generic clean-generic \
  maintainer-clean-generic clean mostlyclean distclean maintainer-clean
***
*** 497,502 
$(LTCXXCOMPILE) -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates -c $<
  concept-inst.o: concept-inst.cc
$(CXXCOMPILE) -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates -c $<
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
  # Otherwise a system limit (for SysV at least) may be exceeded.
--- 497,506 
$(LTCXXCOMPILE) -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates -c $<
  concept-inst.o: concept-inst.cc
$(CXXCOMPILE) -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates -c $<
+ 
+ install-exec-local:
+   $(AR) cru libstdc++_pic.a .libs/*.o ../libsupc++/*.o
+   $(INSTALL_DATA) libstdc++_pic.a $(glibcpp_toolexeclibdir)
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
  # Otherwise a system limit (for SysV at least) may be exceeded.


It looks like these sections are now moved down to around line 453
in the first part of the patch and rearranged enough to be unrecognizable
in both. Any ideas?
  Jack




Bug#161438: gcc-3.2 needs automake-1.4 Build-Depends

2002-09-18 Thread Jack Howarth
Package: gcc-3.2
Version: 3.2.1ds1-0pre2

   The current source package will fail to patch properly if
any automake other than automake-1.4 is installed. We need to
change the debian/control file to Build-Depends on automake-1.4
and change all of the dpatches to have automake-1.4 instead of
automake calls to allow multiple versions of automake to 
coexist during the build. Otherwise we will have to Build-Conflict
the other automake versions.
 Jack




build failure

2002-09-19 Thread Jack Howarth
   On debian ppc sid, with glibc 2.2.93 installed and Linux 2.4.20pre7
I am seeing a new build failure in the current gcc 3.2.1pre2 source
package...

/bin/sh ../libtool --tag CXX --mode=compile 
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/xgcc -shared-libgcc 
-B/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/ -nostdinc++  
-L/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/l
-Wall -Wno-format -W -Wwrite-strings -Winline  -fdiagnostics-show-location=once 
-ffunction-sections -fdata-sections -g-c 
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/src/libstdc++-v3/src/wstring-inst.cc
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/xgcc -shared-libgcc 
-B/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/ -nostdinc++ 
-L/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/libstdc++-v3/src
 -L/home/howarth/debian-gcc32/
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/xgcc -shared-libgcc 
-B/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/ -nostdinc++ 
-L/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/libstdc++-v3/src
 -L/home/howarth/debian-gcc32/
/bin/sh ../libtool --tag CXX --mode=compile 
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/xgcc -shared-libgcc 
-B/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/ -nostdinc++  
-L/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/l
-Wall -Wno-format -W -Wwrite-strings -Winline  -fdiagnostics-show-location=once 
-ffunction-sections -fdata-sections -g-c codecvt_members.cc
/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/xgcc -shared-libgcc 
-B/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/gcc/ -nostdinc++ 
-L/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/libstdc++-v3/src
 -L/home/howarth/debian-gcc32/
codecvt_members.cc: In member function `virtual std::codecvt_base::result 
   std::codecvt::do_out(mbstate_t&, const wchar_t*, 
   const wchar_t*, const wchar_t*&, char*, char*, char*&) const':
codecvt_members.cc:53: `_M_c_locale_codecvt' undeclared (first use this 
   function)
codecvt_members.cc:53: (Each undeclared identifier is reported only once for 
   each function it appears in.)
make[6]: *** [codecvt_members.lo] Error 1
make[6]: Leaving directory 
`/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/libstdc++-v3/src'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory 
`/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/libstdc++-v3'
make[4]: *** [all-recursive-am] Error 2
make[4]: Leaving directory 
`/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/powerpc-linux/libstdc++-v3'
make[3]: *** [all-target-libstdc++-v3] Error 2
make[3]: Leaving directory `/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build'
make[2]: *** [bootstrap-lean] Error 2
make[2]: Leaving directory `/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build'
/usr/bin/make -C /home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/fastjar
make[2]: Entering directory 
`/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/fastjar'
make[2]: Leaving directory 
`/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1/build/fastjar'
s=`cat status`; rm -f status; test $s -eq 0
make[1]: *** [stamps/05-build-stamp] Error 1
make[1]: Leaving directory `/home/howarth/debian-gcc32/gcc-3.2-3.2.1ds1'
make: *** [stamps/05-build-stamp] Error 2

Any idea what this is about?
Jack




findsyms results?

2002-09-28 Thread Jack Howarth
Hi,
   If anyone has run my findsyms perl script..

http://lists.debian.org/debian-glibc/2002/debian-glibc-200209/msg00148.html
http://lists.debian.org/debian-glibc/2002/debian-glibc-200209/msg00164.html

...and has results for a particular arch, they may want to share this
information upstream with Ulrich. Even if it only confirms that the
existing libgcc-compat situation if sufficient for an arch it would be
polite since we are likely sampling a much larger codebase than they
were when the libgcc-compat code went it. Thanks in advance. With
glibc 2.3 about to release any moment we might want to give them a heads
up on any holes in the libgcc-compat code.
   Jack
ps By information, I mean just the list of hidden libgcc symbols 
that findsyms found and collated in the final.list file it creates.




binutils requirements for gcc 3.2 rebuild

2002-10-05 Thread Jack Howarth
Matthias,
Ben Collins suggest this should be passed off to you as a
Build-Depends and Depends for gcc-3.2. On ppc (and perhaps all
arches) we should have the minimal binutils set to 2.13.90.0.6
or greater once Chris Chimelis solves his hardware problems
and can get new debian binutils packages ready. 
On ppc, a fix was introduced at binutils 2.13.90.0.5 which 
changed how *r_offset is set so it is no longer a non-zero value.
This is critical to prelink being able to unprelink a prelinked
binary back to an identical copy of the unprelinked original.
The binutils behavior pre-2.13.90.0.5 was such that unpredictable
non-zero values were placed in *r_offset making it impossible
to predict the original value again. This is solved in 2.13.90.0.5
by adopting a zero value for *r_offset like all the other arches
do.
   The need for binutils 2.13.90.0.6 arises from a glitch I ran
across where binutils would produces shared libraries that were
not properly -zcombreloc. HJ Lu and Alan Modra added two fixes...
the correct ppc-specific one and a general safety net fix to
prevent any arch from having this bug in the future. So while
the problem has only been demonstrated on ppc, it may impact
other arches as well. 
Thanks in advance for dealing with this.
   Jack




bison 1.50-1

2002-10-09 Thread Jack Howarth
Matthias,
You might want to do a test build of gcc-3.2.1 against the new
bison 1.50-1. I have found that this new bison breaks the binutils
build. Not sure yet if this is a bison bug or a flaw in the binutils
build process. Hopefully not that may packages will be bit by this.
Regressing to bison 1.35-3 eliminates this problem in the build.
Jack
-
/bin/sh ../../ld/../ylwrap "bison -y" ../../ld/ldgram.y y.tab.c ldgram.c 
y.tab.h ldgram.h --  -d
/home/howarth/debian-binutils/binutils-2.13.90.0.8/build-tree/binutils-2.13.90.0.8/builddir-single/ld/../../ld/ldgram.y:629.12-632.35:
 type clash (`' `name') on default action
/home/howarth/debian-binutils/binutils-2.13.90.0.8/build-tree/binutils-2.13.90.0.8/builddir-single/ld/../../ld/ldgram.y:831.8-847.11:
 type clash (`' `name') on default action
make[3]: *** [ldgram.c] Error 1
make[3]: Leaving directory 
`/home/howarth/debian-binutils/binutils-2.13.90.0.8/build-tree/binutils-2.13.90.0.8/builddir-single/ld'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
`/home/howarth/debian-binutils/binutils-2.13.90.0.8/build-tree/binutils-2.13.90.0.8/builddir-single/ld'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory 
`/home/howarth/debian-binutils/binutils-2.13.90.0.8/build-tree/binutils-2.13.90.0.8/builddir-single/ld'
make: *** [all-ld] Error 2
bogus:/home/howarth/debian-binutils/binutils-2.13.90.0.8/build-tree/binutils-2.13.90.0.8/builddir-single#
 
--~v




Re: bison 1.50-1

2002-10-12 Thread Jack Howarth
Matthias,
It appears this problem is specific to binutils. Alan Modra has a 
fix applied to binutils cvs. While the fix didn't make it into
binutils 2.13.90.0.10, I passed it along to Chris for our deb packages 
of 2.13.90.0.10.
Jack




Re: how to find symbols needed for libgcc-compat in glibc

2002-10-12 Thread Jack Howarth
Matthias,
   I'm not sure. I know I was told that hppa was okay. Also from my
conversations with Jakub it appears i386, ia-64, alpha and sparc32
should be fine. So I would suggest we focus on checking the status
of arm, hurd-i386, m68k, mips, mipsel, s390 and sh. I'm not sure
how many of those arches have even had glibc 2.3.1 built on them.
   Jack




gcc 3.2.1 in sid?

2002-10-17 Thread Jack Howarth
   Now that glibc 2.3.1 is in sid, what are the plans
for the transition to gcc 3.2.1? I am assuming we are 
waiting for the official gcc 3.2.1 release. That should
be soon however. Are we still planning a bulk rebuild
of each arch? I believe ppc should be in excellent shape
for the transition. The only worrisome arches are hppa
(glibc 2.3.1 is still broken there), mips and m68k (those
two will need libgcc-compat code added for glibc 2.3.1).
 Jack




gcc 3.2.1 and bison 1.50

2002-10-17 Thread Jack Howarth
Matthias,
Have you tried using the new bison 1.75 release from ftp.gnu.org?
Perhaps you might have better luck with the gcc 3.2.1 builds using that
one.
   Jack




new libstdc++ failures

2002-11-13 Thread Jack Howarth
Dan,
We seem to be suddenly failing 7 additional libstd-c++ tests
in last nights gcc-3.2 build. This isn't happening on entropy so
I am wondering if we have lost those keymaps essential for the
testsuite to pass. If I recall correctly keymaps for French, German
and Itailian have to be installed for some of those tests. We
might want to check the ppc build machines for those.
   Jack




gcc 3.2 breakage?

2002-11-13 Thread Jack Howarth
   Is anyone else seeing this? On doing an apt-get dist-upgrade
on debian ppc sid tonight I had a bunch of problems with libstd-c++
going missing. It appears that we have stopped using the name
/usr/lib/libstdc++-libc6.2-2.so.3 and changed it to
libstdc++libc6.2-2.so.3 causing a bunch of binaries to become 
very unhappy.
   Jack




gcc 3.2.1 switchover

2002-11-24 Thread Jack Howarth
I assume that we were waiting on gcc 3.2.1 to arrive for
the switchover of sid to to gcc-3.2 to happen. Once all the arches
have gcc 3.2.1 release built for them what is the plan for the
migration? I haven't seen it mentioned lately.
  Jack




Bug#176081: libgcj.so.3.0.0 has non-PIC static code linked in

2003-01-09 Thread Jack Howarth
Package: libgcj3
Version: 3.2.2-0pre3

On debian ppc sid, the /usr/lib/libgcj.so.3.0.0 shared lib
appears to have non-PIC static lib code linked in which is
a violation of debian policy. This probably is a upstream
(non-debian) problem as I see this on the same lib from
Franz Sirl's redhat based gcc 3.2.2 ppc rpms.

This was determined with...

objdump --all-headers /lib/libc-2.3.1.so | grep TEXTREL
  TEXTREL 0x0




Bug#176081: libgcj.so.3.0.0 has non-PIC static code linked in

2003-01-09 Thread Jack Howarth
   Typo...the test was...

objdump --all-headers /usr/lib/libgcj.so.3.0.0 | grep TEXTREL
  TEXTREL 0x0

...of course.
 Jack




elfutils vs debian gcc

2003-01-13 Thread Jack Howarth
   Has anyone tried to build elfutils 0.72 from rawhide on debian
using our gcc-3.2? I thought I would try to build it since redhat
is using that instead of libelf from now on to link into their
prelink binary. I found that on debian ppc sid we get a build failure
(with libelf0-dev deinstalled to prevent header collisions)...

if gcc -D_GNU_SOURCE -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../lib -I..   -Wall 
-Werror -g -O2 -MT elf_version.o -MD -MP -MF ".deps/elf_version.Tpo" \
  -c -o elf_version.o `test -f 'elf_version.c' || echo './'`elf_version.c; \
then mv ".deps/elf_version.Tpo" ".deps/elf_version.Po"; \
else rm -f ".deps/elf_version.Tpo"; exit 1; \
fi
cc1: warnings being treated as errors
In file included from elf_version.c:19:
libelfP.h:357: warning: `visibility' attribute directive ignored
libelfP.h:358: warning: `visibility' attribute directive ignored
libelfP.h:363: warning: `visibility' attribute directive ignored

These are lines of the form...

extern const xfct_t __elf_xfctstom[EV_NUM - 1][EV_NUM - 1][ELFCLASSNUM - 
1][ELF_T_NUM] attribute_hidden;
extern const xfct_t __elf_xfctstof[EV_NUM - 1][EV_NUM - 1][ELFCLASSNUM - 
1][ELF_T_NUM] attribute_hidden;

in libelfP.h. This compiles fine on ppclinux from rawhide using a gcc 3.2.2
snapshot. Just curious why this is happening.
 Jack




RE: elfutils vs debian gcc

2003-01-14 Thread Jack Howarth
   In case anyone is interested Jakub responded on this compile warning
in elfutils. RedHat apparently is backporting support for the
visibility attribute directive from gcc 3.3 into their gcc 3.2. The
other options are to use gcc 3.3 itself or, easiest, to not use
-Werror when building elfutils with stock gcc 3.2.2.
   Jack




Bug#176081: libgcj.so.3.0.0 has non-PIC static code linked in

2003-01-31 Thread Jack Howarth
   This should be fixed upstream now...

http://gcc.gnu.org/ml/gcc-patches/2003-01/msg02409.html




TLS. nptl and gcc/glibc/binutils

2003-04-20 Thread Jack Howarth
   I am wondering if there is a gameplan on adding the support for
enabling TLS support in the devtools in sid. In particular, in trying
to build the current debian glibc cvs 2.3.2-1 release I noticed that
linuxthreads support was broken upstream. Uli seems to think this
will happen more frequently now that they are focused on nptl and
paying less attention to the old linuxthreads code.
   Do we plan to add backports of the TLS changes to gcc 3.2.3
as redhat has done or should we stick with gcc 3.3 if we want to build
glibc with TLS support? Just curious what the plan is on this transition.
Jack




possible dejagnu problems???

2003-05-09 Thread Jack Howarth
Matthias,
In comparing the current failures in the new build of 3.3-0pre9
on debian ppc sid to those Mark Mitchell obtained on a YDL ppclinux 
box (http://gcc.gnu.org/ml/gcc-testresults/2003-05/msg00553.html)
I noticed that we are failing 2 extra c++ tests...

FAIL: g++.dg/parse/crash2.C  (test for errors, line 5)
FAIL: g++.dg/parse/crash2.C (test for excess errors)

as well as an extra gcc test...

FAIL: gcc.c-torture/execute/991221-1.c compilation,  -O0

You may want to repeat this build with the older dejagnu 1.4.2-1.1
debian package installed rather than the current 1.4.3-0.1 in sid.
I say that because I noticed in doing a local build of the new
binutils 2.14.90.0.1 on debian ppc sid, that I was getting 4 binutils
tests UNTESTED which didn't happen on YDL ppclinux. After regressing
dejagnu down to 1.4.2-1.1, those UNTESTED binutils tests became normal
passes again. Apparently HJ and other using redhat are still on 1.4.2
and haven't run into these oddities yet.
 Jack
ps I have reported this already against debian dejagnu.




re: planning binutils NMU (testing wanted ...)

2003-05-11 Thread Jack Howarth
Matthias,
I rebuilt your test debian binutils 2.14.90.0.1-0.1 package
on my debian ppc sid box and it looks fine. The places where we diverge
are...

your build...

=== binutils Summary ===

# of expected passes28
# of untested testcases 4

and my build

=== binutils Summary ===
 
# of expected passes31
# of expected failures  1

This difference of 4 untested test cases is due to you having
dejagnu 1.4.3 installed and my having downgraded to 1.4.2.

The other divergence is...

your build...

=== ld Summary ===

# of expected passes171
# of unexpected failures6
# of unexpected successes   4
# of expected failures  8


and my build...


=== ld Summary ===
 
# of expected passes177
# of unexpected successes   4
# of expected failures  8

These 6 unexpected failures strongly suggest that the ppc sid
build machine you used had been prelinked. Currently we are
waiting for Jakub to debug why prelinking causes these 6 
unexpected failures. Since I have unprelinked my machine they
aren't triggered. In any case, they are non-fatal for us.
   Jack




no anonymous cvs access for debian-gcc

2003-05-16 Thread Jack Howarth
 Does anyone know if the anonymous cvs access to the
different branches of debian-gcc on cvs.debian.org has
been disabled on purpose? I am trying to checkout the
current gcc-3.3 package with...

cvs -z 9 -d :pserver:[EMAIL PROTECTED]:/cvs/debian-gcc login

cvs -z 9 -d :pserver:[EMAIL PROTECTED]:/cvs/debian-gcc co gcc-3.3

...which fails with...

? gcc-3.3/debian
cvs server: warning: cannot write to history file 
/cvs/debian-gcc/CVSROOT/history: Permission denied
cvs server: Updating gcc-3.3
cvs server: failed to create lock directory for `/cvs/debian-gcc/gcc-3.3' 
(/cvs/debian-gcc/gcc-3.3/#cvs.lock): Permission denied
cvs server: failed to obtain dir lock in repository `/cvs/debian-gcc/gcc-3.3'
cvs [server aborted]: read lock failed - giving up

Thanks in advance for any information.
Jack




Bug#193953: /usr/lib/libgcj.so.2 improperly linked

2003-05-20 Thread Jack Howarth
Package: libgcj2
Version: 3.0.4-12
   The shared library, /usr/lib/libgcj.so.2, has undefined
non-weak symbols as shown with below...

ldd -r /usr/lib/libgcj.so.2
libpthread.so.0 => /lib/libpthread.so.0 (0x0fbc)
libdl.so.2 => /lib/libdl.so.2 (0x0fdd)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x6ffd4000)
libc.so.6 => /lib/libc.so.6 (0x0fe8)
/lib/ld.so.1 => /lib/ld.so.1 (0x0800)
undefined symbol: GC_least_plausible_heap_addr  (/usr/lib/libgcj.so.2)
undefined symbol: GC_greatest_plausible_heap_addr   (/usr/lib/libgcj.so.2)
undefined symbol: GC_arrays (/usr/lib/libgcj.so.2)
undefined symbol: GC_allocate_lock  (/usr/lib/libgcj.so.2)
undefined symbol: GC_java_finalization  (/usr/lib/libgcj.so.2)
undefined symbol: GC_n_mark_procs   (/usr/lib/libgcj.so.2)
undefined symbol: GC_n_kinds(/usr/lib/libgcj.so.2)
undefined symbol: GC_obj_kinds  (/usr/lib/libgcj.so.2)
undefined symbol: GC_find_start (/usr/lib/libgcj.so.2)
undefined symbol: deflate   (/usr/lib/libgcj.so.2)
undefined symbol: GC_disable(/usr/lib/libgcj.so.2)
undefined symbol: GC_lock   (/usr/lib/libgcj.so.2)
undefined symbol: GC_generic_malloc (/usr/lib/libgcj.so.2)
undefined symbol: inflate   (/usr/lib/libgcj.so.2)
undefined symbol: deflateSetDictionary  (/usr/lib/libgcj.so.2)
undefined symbol: GC_gcollect   (/usr/lib/libgcj.so.2)
undefined symbol: GC_signal_mark_stack_overflow (/usr/lib/libgcj.so.2)
undefined symbol: GC_add_to_black_list_normal   (/usr/lib/libgcj.so.2)
undefined symbol: GC_pthread_create (/usr/lib/libgcj.so.2)
undefined symbol: GC_get_heap_size  (/usr/lib/libgcj.so.2)
undefined symbol: GC_init_gcj_malloc(/usr/lib/libgcj.so.2)
undefined symbol: GC_get_free_bytes (/usr/lib/libgcj.so.2)
undefined symbol: GC_expand_hp  (/usr/lib/libgcj.so.2)
undefined symbol: deflateInit2_ (/usr/lib/libgcj.so.2)
undefined symbol: inflateReset  (/usr/lib/libgcj.so.2)
undefined symbol: deflateReset  (/usr/lib/libgcj.so.2)
undefined symbol: GC_enable (/usr/lib/libgcj.so.2)
undefined symbol: GC_malloc_atomic  (/usr/lib/libgcj.so.2)
undefined symbol: GC_malloc (/usr/lib/libgcj.so.2)
undefined symbol: GC_gcj_malloc (/usr/lib/libgcj.so.2)
undefined symbol: GC_find_header(/usr/lib/libgcj.so.2)
undefined symbol: GC_dlopen (/usr/lib/libgcj.so.2)
undefined symbol: GC_invoke_finalizers  (/usr/lib/libgcj.so.2)
undefined symbol: GC_set_max_heap_size  (/usr/lib/libgcj.so.2)
undefined symbol: GC_register_finalizer_no_order(/usr/lib/libgcj.so.2)
undefined symbol: GC_finalize_all   (/usr/lib/libgcj.so.2)
undefined symbol: deflateParams (/usr/lib/libgcj.so.2)
undefined symbol: GC_generic_malloc_inner   (/usr/lib/libgcj.so.2)
undefined symbol: inflateSetDictionary  (/usr/lib/libgcj.so.2)
undefined symbol: inflateEnd(/usr/lib/libgcj.so.2)
undefined symbol: inflateInit2_ (/usr/lib/libgcj.so.2)
undefined symbol: deflateEnd(/usr/lib/libgcj.so.2)

This suggests that the library needs to be linked with
"-lz -lgcjgc" to eliminate this problem. Also, the
shared lib,  /usr/lib/libgcjgc.so.1, shows undefined
non-weak symbols as well...

ldd -r /usr/lib/libgcjgc.so.1
libpthread.so.0 => /lib/libpthread.so.0 (0x0fbc)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x6ffd4000)
libc.so.6 => /lib/libc.so.6 (0x0fe8)
/lib/ld.so.1 => /lib/ld.so.1 (0x0800)
undefined symbol: dlopen 

which indicates it needs linked with "-ldl".




Bug#193953: /usr/lib/libgcj.so.2 improperly linked

2003-06-01 Thread Jack Howarth
Matthias,
   This issue doesn't exist for /usr/lib/libgcj.so.4

ldd -r /usr/lib/libgcj.so.4
libpthread.so.0 => /lib/libpthread.so.0 (0x0fae)
libdl.so.2 => /lib/libdl.so.2 (0x0fdd)
libz.so.1 => /lib/libz.so.1 (0x0fc8)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0f08)
libc.so.6 => /lib/libc.so.6 (0x0fe8)
/lib/ld.so.1 => /lib/ld.so.1 (0x0800)




Bug#196090: gcc-3.3: miscompiles XDM-AUTHORIZATION-1 key generation and/or validation in XFree86 at -O2

2003-06-21 Thread Jack Howarth
   Franz Sirl, the ppclinux devtool maintainer, has kindly
built the current rawhide XFree86 4.3.0 srpms against 
gcc-3.3 from 6/18/03 on Yellow Dog Linux. He is unable to
reproduce the authentication problems we see on debian
under either xdm or kdm. Perhaps we build XFree86 differently
enough from RedHat that only we tickled the gcc bug. However
I did find out that the gcc 3.3 that RedHat uses is not
a patched version of the gcc 3.3 branch but rather a special
rh branch of gcc-3.3. One wonders if they would see the
problem if they used the stock gcc-3.3 branch instead and
if there are any fixes trapped in the gcc-3.3 rh branch that
haven't been put into the main gcc-3.3 branch.
  Jack




gcc 2.95.4 VERY broken on ppc

2001-04-24 Thread Jack Howarth
Package: gcc-2.95
Version: 2.95.4-0.010407
  
Hello guys. The move of gcc 2.95.4-0.010407 has majorly broken
woody on ppc. For example update_menus now has an undefined
symbol for __throw and can't run. Also kconqueror from kde 2.1.1
has undefined symbols to __throw and malfunctions. Also libdb2
can no longer be built. I regress from sid to woody last night
for this very reason and now the flaw has migrated over.
Can you please regress the ppc version of woody back to the last
gcc 2.95.3 version that was there yesterday. 
  Jack Howarth
ps the build of libdb2 fails as follows...

cc -o db_archive  db_archive.o err.o getlong.o -L. -ldb2
db_archive.o: In function `main':
/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix/../dist/../db_archive/db_archive.c:94:
 undefined reference to `db_appexit'
/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix/../dist/../db_archive/db_archive.c:94:
 relocation truncated to fit: R_PPC_REL24 db_appexit
/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix/../dist/../db_archive/db_archive.c:103:
 undefined reference to `db_appexit'
/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix/../dist/../db_archive/db_archive.c:103:
 relocation truncated to fit: R_PPC_REL24 db_appexit
db_archive.o: In function `db_init':
/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix/../dist/../db_archive/db_archive.c:130:
 undefined reference to `db_appinit'
/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix/../dist/../db_archive/db_archive.c:130:
 relocation truncated to fit: R_PPC_REL24 db_appinit
collect2: ld returned 1 exit status
make[1]: *** [db_archive] Error 1
make[1]: Leaving directory 
`/home/howarth/debian2/db2-2.7.7/build-tree/db-2.7.7/build_unix'
make: *** [stampdir/build] Error 2
Build command 'cd db2-2.7.7 && dpkg-buildpackage -b -uc' failed.
E: Child process failed

not good.
--
Jack W. Howarth, Ph.D. 231 Bethesda Avenue
NMR Facility Director  Cincinnati, Ohio 45267-0524
Dept. of Molecular Genetics  phone: (513) 558-4420
Univ. of Cincinnati College of Medicinefax: (513) 558-8474




gcc 2.95.4 workaround

2001-05-02 Thread Jack Howarth
Hello,
   In case Franz Sirl hasn't passed this along the problem with
current gcc 2.95.4 building glibc 2.2.3 can be worked around
with a hack similar to gcc/varasm.c

@@ -4344,8 +4350,15 @@ declare_weak (decl)
 {
   if (! TREE_PUBLIC (decl))
 error_with_decl (decl, "weak declaration of `%s' must be public");
+#if 0
+  /* Due to a bug this error was never active, enabling it now would break 
+   glibc.  */
   else if (TREE_ASM_WRITTEN (decl))
 error_with_decl (decl, "weak declaration of `%s' must precede 
definition");+  /* This would be a new error, but it would break glibc too :-(. 
 */
+  else if (TREE_USED (decl))
+error_with_decl (decl, "weak declaration of `%s' must precede its uses");
+#endif
   else if (SUPPORTS_WEAK)
 DECL_WEAK (decl) = 1;
 #ifdef HANDLE_PRAGMA_WEAK

that disables the errors which had not triggered before. I don't believe
Franz has seen any bad side-effects of this change.
  Jack




missing tarball

2001-05-04 Thread Jack Howarth
   Is there a particular reason why the tarball for building gcc-2.95
2.95.4.ds1-0.010502 was not uploaded to incoming.debian.org? Could
someone please get it up there with the rest of the files for that
version of the package? Thanks. 
   Jack




Re: new gcc-2.95 packages

2001-05-06 Thread Jack Howarth
Matthias,
The new gcc-2.95.4 package builds fine on debian ppc woody.
Also I am able to now build glibc 2.2.3-1 using the resulting
gcc 2.95.4.
 Jack




combreloc

2001-10-31 Thread Jack Howarth
Hello,
In case you aren't aware a rather significant
change was made recently to binutils. The -z combreloc
support in binutils has been enabled on almost all
arches as of binutils 2.11.92.0.5-3. This coupled with
the recent rebuild of glibc 2.2.4-4 has enabled combreloc
in glibc. Combreloc sorts the cached relocations to speed
up their access and can dramatically reduce the load time
spent in the dynamic linker particularly for large programs
with lots of relocations such as qt/kde.
For example on Debian ppc sid we find that with combreloc
disabled in glibc that the linker statistics for the t1 tutorial
program in qt 2.3.1 shows the following...

01338:
01338:  runtime linker statistics:
01338:total startup time in dynamic loader: 17486340 clock cycles
01338:  time needed for relocation: 13139203 clock cycles (75.1%)
01338:   number of relocations: 32391
01338:number of relocations from cache: 0
01338: time needed to load objects: 567645 clock cycles (3.2%)


which is reduced by about 90% when combreloc is enabled in glibc (and
the binary for t1 and all support libs have been built against the
-z combreloc enabled binutils)

14355:
14355:  runtime linker statistics:
14355:total startup time in dynamic loader: 1978861 clock cycles
14355:  time needed for relocation: 1904007 clock cycles (96.2%)
14355:   number of relocations: 9647
14355:number of relocations from cache: 22744
14355: time needed to load objects: 65247 clock cycles (3.2%)


Experimental prelinking of the t1 binary in addition can take the time
spent in the dynamic loader down to 1% of the original value...

14356:
14356:  runtime linker statistics:
14356:total startup time in dynamic loader: 135185 clock cycles
14356:  time needed for relocation: 57254 clock cycles (42.3%)
14356:   number of relocations: 0
14356:number of relocations from cache: 2555
14356: time needed to load objects: 67923 clock cycles (50.2%)

So with the current binutils and glibc in sid we can obtain a 90% reduction
in the load time for programs using the existing tools in Debian sid. In
the future an even better reduction will be obtainable with prelinking.
I am bringing this to your attention since every maintainer should
be aware that if he chooses to do a minor version bump of his packages
they will be rebuilt against the latest devtools (not a bad thing) and
a -z combreloc enabled binutils. This will provide the immediate 
advantage of combreloc support and a reduced load time as well as making
the binary prelink ready for a future addition of prelinking support
to glibc and sid. I just wanted everyone to be aware of what was available
here with the new binutils in case they weren't planning a new release
before Woody is shipped but would be interested in obtaining this 
improved load time from combreloc.
    Jack Howarth




combreloc

2001-10-31 Thread Jack Howarth
Hello,
In case you aren't aware a rather significant
change was made recently to binutils. The -z combreloc
support in binutils has been enabled on almost all
arches as of binutils 2.11.92.0.5-3. This coupled with
the recent rebuild of glibc 2.2.4-4 has enabled combreloc
in glibc. Combreloc sorts the cached relocations to speed
up their access and can dramatically reduce the load time
spent in the dynamic linker particularly for large programs
with lots of relocations such as qt/kde.
For example on Debian ppc sid we find that with combreloc
disabled in glibc that the linker statistics for the t1 tutorial
program in qt 2.3.1 shows the following...

01338:
01338:  runtime linker statistics:
01338:total startup time in dynamic loader: 17486340 clock cycles
01338:  time needed for relocation: 13139203 clock cycles (75.1%)
01338:   number of relocations: 32391
01338:number of relocations from cache: 0
01338: time needed to load objects: 567645 clock cycles (3.2%)


which is reduced by about 90% when combreloc is enabled in glibc (and
the binary for t1 and all support libs have been built against the
-z combreloc enabled binutils)

14355:
14355:  runtime linker statistics:
14355:total startup time in dynamic loader: 1978861 clock cycles
14355:  time needed for relocation: 1904007 clock cycles (96.2%)
14355:   number of relocations: 9647
14355:number of relocations from cache: 22744
14355: time needed to load objects: 65247 clock cycles (3.2%)


Experimental prelinking of the t1 binary in addition can take the time
spent in the dynamic loader down to 1% of the original value...

14356:
14356:  runtime linker statistics:
14356:total startup time in dynamic loader: 135185 clock cycles
14356:  time needed for relocation: 57254 clock cycles (42.3%)
14356:   number of relocations: 0
14356:number of relocations from cache: 2555
14356: time needed to load objects: 67923 clock cycles (50.2%)

So with the current binutils and glibc in sid we can obtain a 90% reduction
in the load time for programs using the existing tools in Debian sid. In
the future an even better reduction will be obtainable with prelinking.
I am bringing this to your attention since every maintainer should
be aware that if he chooses to do a minor version bump of his packages
they will be rebuilt against the latest devtools (not a bad thing) and
a -z combreloc enabled binutils. This will provide the immediate 
advantage of combreloc support and a reduced load time as well as making
the binary prelink ready for a future addition of prelinking support
to glibc and sid. I just wanted everyone to be aware of what was available
here with the new binutils in case they weren't planning a new release
before Woody is shipped but would be interested in obtaining this 
improved load time from combreloc.
    Jack Howarth