This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
gcj static linking fix [Re: gcj build on Itanium]
- To: "Boehm, Hans" <hans_boehm at hp dot com>
- Subject: gcj static linking fix [Re: gcj build on Itanium]
- From: Bryce McKinlay <bryce at albatross dot co dot nz>
- Date: Tue, 27 Feb 2001 22:37:20 +1300
- CC: linux-ia64 at linuxia64 dot org, "'java at gcc dot gnu dot org'" <java at gcc dot gnu dot org>, java-patches at gcc dot gnu dot org
- References: <140D21516EC2D3119EE7009027876644049B5C39@hplex1.hpl.hp.com>
"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 ]
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