public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Bo Thorsen <bo@sonofthor.dk>
To: gcc@gcc.gnu.org
Subject: Libtool problem (Was: Multilib libjava problem)
Date: Tue, 01 Oct 2002 07:58:00 -0000	[thread overview]
Message-ID: <200210011658.33393.bo@sonofthor.dk> (raw)
In-Reply-To: <200210011208.26635.bo@sonofthor.dk>

On Tuesday 01 October 2002 12:08, Bo Thorsen wrote:
> I have a linking problem in libjava, trying to link the 32 bit libjava on
> x86-64:
>
> /bin/sh ./libtool --tag=CXX --mode=link /suse/bo/Work/gcc/build/gcc/xgcc
> -shared-libgcc -B/suse/bo/Work/gcc/build/gcc/ -nostdinc++
> -L/suse/bo/Work/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src
> -L/suse/bo/Work/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.lib
>s -B/usr/local/x86_64-unknown-linux-gnu/bin/
> -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
> /usr/local/x86_64-unknown-linux-gnu/include  -m32
> -L/suse/bo/Work/gcc/build/x86_64-unknown-linux-gnu/32/libjava -ffloat-store
> -g -O2  -m32 -m32 -o libgcj.la -objectlist libgcj.objectlist
> ../boehm-gc/libgcjgc_convenience.la ../libffi/libffi_convenience.la
> ../zlib/libzgcj_convenience.la -rpath /usr/local/lib/32 -rpath
> /usr/local/lib/32  -lpthread ./libltdl/libltdlc.la  -version-info `grep -v
> '^#' ../../../../gcc/libjava/libtool-version`
>
> creating reloadable object files...
>
> creating a temporary reloadable object file: .libs/libgcj.la-2.o
>
> /usr/bin/ld -r -o .libs/libgcj.la-1.o <aLOToffiles>.o
>
> /usr/bin/ld: Relocatable linking with relocations from format elf32-i386
> (.libs/prims.o) to format elf64-x86-64 (.libs/libgcj.la-1.o) is not
> supported
>
> make[5]: *** [libgcj.la] Error 1
>
> The problem here is the /usr/bin/ld command. This ought to have a -m
> elf_i386 switch.

This is a libtool problem. I have come up with two different patches to try to 
solve this:

Index: libtool.m4
===================================================================
RCS file: /cvs/gcc/gcc/libtool.m4,v
retrieving revision 1.9
diff -u -r1.9 libtool.m4
--- libtool.m4	14 Aug 2002 02:39:52 -0000	1.9
+++ libtool.m4	1 Oct 2002 14:51:18 -0000
@@ -175,6 +175,19 @@
   rm -rf conftest*
   ;;
 
+x86_64*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case "`/usr/bin/file conftest.o`" in
+    *32-bit*)
+      LD="${LD-ld} -m elf_i386"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
 *-*-sco3.2v5*)
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   SAVE_CFLAGS="$CFLAGS"

I tried this and just running configure && make bootstrap (srcdir!=builddir) 
but that didn't do any change. The libtool in 32/libjava didn't have any line 
with x86_64 in it??

Now I'm running a test with this:

Index: libtool.m4
===================================================================
RCS file: /cvs/gcc/gcc/libtool.m4,v
retrieving revision 1.9
diff -u -r1.9 libtool.m4
--- libtool.m4	14 Aug 2002 02:39:52 -0000	1.9
+++ libtool.m4	1 Oct 2002 14:50:41 -0000
@@ -622,7 +622,7 @@
 # This must be Linux ELF.
 linux-gnu*)
   case $host_cpu in
-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | x86_64* )
     lt_cv_deplibs_check_method=pass_all ;;
   *)
     # glibc up to 2.1.1 does not perform some relocations on ARM

Is there something I have to do to make it actually use these changes?

Am I completely wrong in trying this - any comments on the patches?

Help! I don't know how to handle libtool. I can just see that it doesn't work 
as it is now.

Bo.

-- 

     Bo Thorsen                 |   Praestevejen 4
     Senior Software Engineer   |   5290 Marslev
     Klarälvdalens Datakonsult  |   Denmark

  reply	other threads:[~2002-10-01 14:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-01  3:08 Multilib libjava problem Bo Thorsen
2002-10-01  7:58 ` Bo Thorsen [this message]
2002-10-01  9:23   ` Libtool problem (Was: Multilib libjava problem) Michael Matz
2002-10-01 11:50     ` Bo Thorsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200210011658.33393.bo@sonofthor.dk \
    --to=bo@sonofthor.dk \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).