public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
To: Andrew Haley <aph@redhat.com>
Cc: gcc-patches@gcc.gnu.org, java@gcc.gnu.org
Subject: Re: libgcj missing symbol __data_start
Date: Wed, 26 Aug 2009 16:32:00 -0000	[thread overview]
Message-ID: <4A9563A7.4000209@linux.vnet.ibm.com> (raw)
In-Reply-To: <4A941494.8060107@redhat.com>

> Hard to say; I have no idea why s/390 should be any different from any
> of the other systems.  We have a s/390 here at Red Hat but it might be
> easier if there's a way I could log onto your system and have a look.
No. It is unfortunately impossible to give you access to one of our 
systems for various reasons. But I tried to track it down:

On x86_64 the __data_start is declared weak:
[boehm-gc]$ readelf -s .libs/libgcjgc_convenience.a | grep __data_start
     80: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __data_start

On s390x the symbol is declared global. The difference seem to come from
boehm-gc/include/private/gcconfig.h which uses pragma weak for x86 but 
not for S/390.

Since the symbol is weak on x86 the __data_start symbol missing in the 
main executable does not lead to an error.

The following patch fixes all the failures on s390x. But I'm not sure if 
that's the right thing to do:

Index: boehm-gc/include/private/gcconfig.h
===================================================================
*** boehm-gc/include/private/gcconfig.h.orig    2008-12-02 
14:08:42.000000000 +0100
--- boehm-gc/include/private/gcconfig.h 2009-08-26 17:07:12.000000000 +0200
***************
*** 1826,1831 ****
--- 1826,1832 ----
   #       define OS_TYPE "LINUX"
   #       define LINUX_STACKBOTTOM
   #       define DYNAMIC_LOADING
+ #       pragma weak __data_start
         extern int __data_start[];
   #       define DATASTART ((ptr_t)(__data_start))
       extern int _end[];


Bye,

-Andreas-

  reply	other threads:[~2009-08-26 16:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-25 14:21 Andreas Krebbel
2009-08-25 16:43 ` Andrew Haley
2009-08-26 16:32   ` Andreas Krebbel [this message]
2009-08-26 17:42     ` Boehm, Hans
2009-08-26 18:25       ` BGB
2009-09-01 15:33 ` Andrew Haley
2009-09-02 12:00   ` Andreas Krebbel
2009-09-16 10:32   ` Andrew Haley

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=4A9563A7.4000209@linux.vnet.ibm.com \
    --to=krebbel@linux.vnet.ibm.com \
    --cc=aph@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=java@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).