yann@1
|
1 |
wget "http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2003-09&msgid=20030911190500.GE12344%40sunsite.ms.mff.cuni.cz"
|
yann@1
|
2 |
aka http://sources.redhat.com/ml/libc-alpha/2003-09/msg00104.html
|
yann@1
|
3 |
|
yann@1
|
4 |
This seems to fix the error
|
yann@1
|
5 |
gcc-3.4.1-glibc-2.3.3/lib/gcc/powerpc-7400-linux-gnu/3.4.1/../../../../powerpc-7400-linux-gnu/bin/ld: cannot find -lgcc_eh
|
yann@1
|
6 |
make[1]: *** [build/powerpc-7400-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-glibc/libc.so] Error 1
|
yann@1
|
7 |
but I assume it might cause trouble with nptl
|
yann@1
|
8 |
FIXME: once we figure out why this patch is wrong, fix it right :-)
|
yann@1
|
9 |
|
yann@1
|
10 |
Date: Thu, 11 Sep 2003 21:05:00 +0200
|
yann@1
|
11 |
From: Jakub Jelinek <jakub at redhat dot com>
|
yann@1
|
12 |
To: libc-alpha at sources dot redhat dot com
|
yann@1
|
13 |
Subject: Re: Another ugly bootstrapping patch for libgcc_eh
|
yann@1
|
14 |
Message-ID: <20030911190500.GE12344@sunsite.ms.mff.cuni.cz>
|
yann@1
|
15 |
Reply-To: Jakub Jelinek <jakub at redhat dot com>
|
yann@1
|
16 |
References: <20030911194944.GA6104@nevyn.them.org> <20030911180703.GD12344@sunsite.ms.mff.cuni.cz> <20030911203621.GA31503@nevyn.them.org>
|
yann@1
|
17 |
In-Reply-To: <20030911203621 dot GA31503 at nevyn dot them dot org>
|
yann@1
|
18 |
|
yann@1
|
19 |
On Thu, Sep 11, 2003 at 04:36:21PM -0400, Daniel Jacobowitz wrote:
|
yann@1
|
20 |
> > Why exactly do you need that?
|
yann@1
|
21 |
> > What exact library needs the functions from libgcc_eh.a?
|
yann@1
|
22 |
> > There shouldn't be any these days (__register_*/__frame_state_for etc.
|
yann@1
|
23 |
> > functions should come from sysdeps/generic on arches which need them,
|
yann@1
|
24 |
> > _Unwind_* come from unwind*.c).
|
yann@1
|
25 |
> > IMHO both:
|
yann@1
|
26 |
> >
|
yann@1
|
27 |
> > # Force the backward compatibility EH functions to be linked.
|
yann@1
|
28 |
> > LDFLAGS-c.so += -u __register_frame
|
yann@1
|
29 |
> >
|
yann@1
|
30 |
> > in Makerules and -lgcc_eh in Makeconfig should go.
|
yann@1
|
31 |
>
|
yann@1
|
32 |
> If you say so. That -lgcc_eh's been in and out quite a number of
|
yann@1
|
33 |
> times. I was just assuming that it was necessary.
|
yann@1
|
34 |
|
yann@1
|
35 |
I have been testing following patch on hammer.
|
yann@1
|
36 |
linuxthreads built just fine and NPTL libraries too,
|
yann@1
|
37 |
and in both cases libraries had the same exported symbols as without
|
yann@1
|
38 |
the patch (though its .text slightly shrunk because it no longer contained
|
yann@1
|
39 |
unneeded libgcc_eh routines (and also libc.so has fewer .plt slots).
|
yann@1
|
40 |
Unfortunately, sln in NPTL build doesn't link, as libgcc_eh.a is needed
|
yann@1
|
41 |
in this case.
|
yann@1
|
42 |
So, IMHO we need my Makerules change and Daniel's patch.
|
yann@1
|
43 |
|
yann@1
|
44 |
2003-09-11 Jakub Jelinek <jakub@redhat.com>
|
yann@1
|
45 |
|
yann@1
|
46 |
#* Makerules (LDFLAGS-c.so): Remove -u __register_frame.
|
yann@1
|
47 |
* Makeconfig (gnulib): Remove -lgcc_eh.
|
yann@1
|
48 |
|
yann@1
|
49 |
# Ulrich already applied this.
|
yann@1
|
50 |
#--- libc/Makerules.jj 2003-07-23 03:56:16.000000000 -0400
|
yann@1
|
51 |
#+++ libc/Makerules 2003-09-11 16:22:44.000000000 -0400
|
yann@1
|
52 |
#@@ -572,8 +572,6 @@ LDFLAGS-c.so = -nostdlib -nostartfiles
|
yann@1
|
53 |
# LDLIBS-c.so += $(gnulib)
|
yann@1
|
54 |
# # Give libc.so an entry point and make it directly runnable itself.
|
yann@1
|
55 |
# LDFLAGS-c.so += -e __libc_main
|
yann@1
|
56 |
#-# Force the backward compatibility EH functions to be linked.
|
yann@1
|
57 |
#-LDFLAGS-c.so += -u __register_frame
|
yann@1
|
58 |
# # Pre-link the objects of libc_pic.a so that we can locally resolve
|
yann@1
|
59 |
# # COMMON symbols before we link against ld.so. This is because ld.so
|
yann@1
|
60 |
# # contains some of libc_pic.a already, which will prevent the COMMONs
|
yann@1
|
61 |
--- libc/Makeconfig.jj 2003-07-22 08:25:32.000000000 -0400
|
yann@1
|
62 |
+++ libc/Makeconfig 2003-09-11 16:23:08.000000000 -0400
|
yann@1
|
63 |
@@ -505,7 +505,7 @@ link-libc-bounded = $(common-objpfx)libc
|
yann@1
|
64 |
link-extra-libs-bounded = $(foreach lib,$(LDLIBS-$(@F:%-bp=%)),$(common-objpfx)$(lib)_b.a)
|
yann@1
|
65 |
|
yann@1
|
66 |
ifndef gnulib
|
yann@1
|
67 |
-gnulib := -lgcc -lgcc_eh
|
yann@1
|
68 |
+gnulib := -lgcc
|
yann@1
|
69 |
endif
|
yann@1
|
70 |
ifeq ($(elf),yes)
|
yann@1
|
71 |
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
yann@1
|
72 |
|
yann@1
|
73 |
|
yann@1
|
74 |
Jakub
|
yann@1
|
75 |
|