This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: missing gcc_eh
- From: "Carlos Ordonez" <carloso at us dot ibm dot com>
- To: Andreas Jaeger <aj at suse dot de>
- Cc: gcc at gcc dot gnu dot org, pcarlini at unitus dot it
- Date: Tue, 30 Jul 2002 11:01:38 -0400
- Subject: Re: missing gcc_eh
Andreas, Paolo, thank you for your quick response. I am trying to build
rpms for gcc 3.1, glibc 2.2.5 and binutils The system I am building is
Linux for S/390 - SuSE SLES 7 kernel version 2.4.7. I built binutils rpm
1st and installed it:
pbc99213:/usr/src/packages/SPECS # rpm -qa | grep binutils
binutils-2.12.1-1
pbc99213:/usr/src/packages/SPECS # ld -version
GNU ld version 2.12.1
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
Then I built GCC 3.1 and install it (I am thinking I should have done glibc
2.2.5 first and then GCC 3.1 - should I?) :
pbc99213:/usr/src/packages/SPECS # rpm -qa | grep gcc
gcc-objc-3.1-0.1
gcc-3.1-0.1
gcc-c++-3.1-0.1
pbc99213:/usr/src/packages/SPECS # gcc -dumpversion
3.1
Now I am trying to build glibc 2.2.5 with the following options:
CC="$GCC" CFLAGS="$BuildFlags -g -O3" ../configure --prefix=%{_prefix} \
--enable-add-ons --without-cvs --disable-profile \
--disable-nls --enable-omitfp %{_target_cpu}-suse-linux
The last few lines before the error shows are:
rm -f /usr/src/packages/BUILD/glibc-2.2.5/build-s390-linux/libc.so.lds
make -s -C csu others
make -s -C iconv others
make[2]: Entering directory `/usr/src/packages/BUILD/glibc-2.2.5/iconv'
make[2]: Leaving directory `/usr/src/packages/BUILD/glibc-2.2.5/iconv'
make -s -C iconvdata others
make[2]: Entering directory `/usr/src/packages/BUILD/glibc-2.2.5/iconvdata'
/usr/bin/ld: cannot find -lgcc_eh
collect2: ld returned 1 exit status
make[2]: ***
[/usr/src/packages/BUILD/glibc-2.2.5/build-s390-linux/iconvdata/ISO
8859-1.so] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/usr/src/packages/BUILD/glibc-2.2.5/iconvdata'
make[1]: *** [iconvdata/others] Error 2
make[1]: Leaving directory `/usr/src/packages/BUILD/glibc-2.2.5'
make: *** [all] Error 2
Bad exit status from /var/tmp/rpm-tmp.19724 (%build)
I built a working system with kernel 2.4.17, based on SuSE kernel 2.4.7
that I am using to build the rpms, which I have gcc 3.1, glibc 2.2.5,
binutils 2.12.1. I am almost positive I build glibc 2.2.5 before gcc 3.1
and everything appears to be working fine. Maybe I should build glibc with
my previous gcc and then build the rpm for gcc 3.1. Thanks for any help you
can offer. Carlos :-)
Carlos A. Ordonez
IBM Corporation
|---------+--------------------------->
| | Andreas Jaeger |
| | <aj@suse.de> |
| | |
| | 07/30/2002 10:38|
| | AM |
| | |
|---------+--------------------------->
>-------------------------------------------------------------------------------------------------------------------------------|
| |
| To: Paolo Carlini <pcarlini@unitus.it> |
| cc: Carlos Ordonez/Poughkeepsie/IBM@IBMUS, gcc@gcc.gnu.org |
| From: |
| Subject: Re: missing gcc_eh |
| |
>-------------------------------------------------------------------------------------------------------------------------------|
Paolo Carlini <pcarlini@unitus.it> writes:
> Carlos Ordonez wrote:
>
>> I am building glibc 2.2.5 and I am getting an error gcc_eh not found. I
>> have tried looking in the internet and found nothing. I am running with
>> gcc 3.1 in a 2.4.7 kernel. Did I miss something when I built gcc 3.1?
>> Any help would be appreciated. Thanks Carlos :-)
>
> Hi,
>
> irrespective of the specific problem you are reporting it seems to me
that
> the released glibc2.2.5 cannot be compiled fine with gcc3.1. gcc3.0.4
> should be ok OTOH. Alternatively, fetch CVS glibc. Andreas can you
> confirm/clarify? Thanks!
>
> http://gcc.gnu.org/ml/gcc-bugs/2002-07/msg00787.html
> http://gcc.gnu.org/ml/gcc-bugs/2002-07/msg00788.html
Yes, the appended patches are needed for glibc 2.2.5 to build with GCC
3.1 or newer. I'm appending them for reference.
But gcc_eh not there looks like a different problem. But without more
details and without a crystal ball, I cannot help.
Carlos, on which platform is this? What is exactly the message? How
did you configure gcc and glibc? Which binutils you use?
Andreas
2002-07-22 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias
definiton of _old_sys_nerr. Define _old_sys_errlist as strong
alias.
2002-05-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/errlist.c: Remove extra weak alias
definiton of _old_sys_nerr. Define _old_sys_errlist as strong
alias.
Index: sysdeps/unix/sysv/linux/errlist.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/errlist.c,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -u -p -r1.8 -r1.8.2.1
--- sysdeps/unix/sysv/linux/errlist.c 6 Jul 2001 04:56:12 -0000 1.8
+++ sysdeps/unix/sysv/linux/errlist.c 3 Jun 2002 06:49:30 -0000
1.8.2.1
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -38,10 +38,9 @@ extern const char *const *__old_sys_errl
const int __old_sys_nerr = OLD_ERRLIST_SIZE;
strong_alias (__old_sys_nerr, _old_sys_nerr);
-weak_alias (__old_sys_nerr, _old_sys_nerr)
compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0);
compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0);
-weak_alias (__old_sys_errlist, _old_sys_errlist);
+strong_alias (__old_sys_errlist, _old_sys_errlist);
compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0);
compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0);
#endif
Index: sysdeps/unix/sysv/linux/arm/errlist.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/arm/errlist.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- sysdeps/unix/sysv/linux/arm/errlist.c 6 Jul 2001 04:56:13 -0000 1.4
+++ sysdeps/unix/sysv/linux/arm/errlist.c 24 Jul 2002 11:17:01 -0000 1.5
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -38,10 +38,9 @@ extern const char *const *__old_sys_errl
const int __old_sys_nerr = OLD_ERRLIST_SIZE;
strong_alias (__old_sys_nerr, _old_sys_nerr);
-weak_alias (__old_sys_nerr, _old_sys_nerr)
compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0);
compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0);
-weak_alias (__old_sys_errlist, _old_sys_errlist);
+strong_alias (__old_sys_errlist, _old_sys_errlist);
compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0);
compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0);
#endif
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj