[Linux-ia64] gcj static linking fix [Re: gcj build on Itanium]

Bryce McKinlay
2001-02-27T09:37:20Z

[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

"Boehm, Hans" wrote:

> Problem 5: Static linking tends to result in "eh.o...: undefined reference
> to `fwrite'. This seems to be a library ordering problem, which might also
> affect other platforms.
>
> Workaround: use "-u fwrite" on the command line.
>
> Request: What's a proper fix?

Static libgcc linking seems to require "-lgcc -lc -lgcc" with no other
libraries in between in order to work correctly. The use of libgcj.spec was
adding additional libraries between the first "-lgcc" and the "-lc". This patch
fixes it. I'm checking it in to head + branch.

regards

[ bryce ]

[-- Attachment #2: libgcj.spec.patch --]
[-- Type: text/plain, Size: 710 bytes --]

2001-02-27 Bryce McKinlay <bryce@albatross.co.nz>

* libgcj.spec.in: Insert %(libgcc) before %(liborig) to fix static
linking.

Index: libgcj.spec.in
===================================================================
RCS file: /cvs/gcc/egcs/libjava/libgcj.spec.in,v
retrieving revision 1.13
diff -u -r1.13 libgcj.spec.in
--- libgcj.spec.in 2001/02/05 05:46:16 1.13
+++ libgcj.spec.in 2001/02/27 09:27:45
@@ -4,7 +4,7 @@
# to link with libgcj.
#
%rename lib liborig
-*lib: -lgcj -lm @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(liborig)
+*lib: -lgcj -lm @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) %(liborig)

*jc1: @DIVIDESPEC@ @EXCEPTIONSPEC@ @JC1GCSPEC@ -fasynchronous-exceptions