This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Java broken after i386 PIC change
- To: Bryce McKinlay <bryce at albatross dot co dot nz>
- Subject: Re: Java broken after i386 PIC change
- From: Richard Henderson <rth at redhat dot com>
- Date: Sun, 21 Jan 2001 14:34:56 -0800
- Cc: apbianco at cygnus dot com, gcc-bugs at gcc dot gnu dot org, martin dot kahlert at infineon dot com, java-discuss at sourceware dot cygnus dot com, gcc-patches at gcc dot gnu dot org
- References: <14950.34116.664233.394672@deliverance.cygnus.com> <3A66CD61.9E2D7772@albatross.co.nz> <20010120181423.A4865@redhat.com> <3A6A5F36.81CD863D@albatross.co.nz> <20010120201908.A5004@redhat.com> <3A6A6DB9.2BE0997E@albatross.co.nz> <20010120214647.A5072@redhat.com> <3A6A8E80.951B182A@albatross.co.nz> <3A6A8F9E.34AAFB94@albatross.co.nz> <20010120233505.A5266@redhat.com>
On Sat, Jan 20, 2001 at 11:35:05PM -0800, Richard Henderson wrote:
> So it seems likely that there's some linkonce bug in 2.10 that
> has been fixed since. I wonder how hard it would be to detect
> it at configure time. Otherwise I've got to figure out some
> other solution to the original bug.
I've applied the following until I can figure out what
to do about detecting this at configure time.
r~
* config/i386/i386.c (ix86_asm_file_end): Disable putting
pic_label_name in a linkonce section.
Index: i386.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.c,v
retrieving revision 1.206
diff -c -p -d -r1.206 i386.c
*** i386.c 2001/01/16 15:57:00 1.206
--- i386.c 2001/01/21 22:31:24
*************** Boston, MA 02111-1307, USA. */
*** 40,45 ****
--- 40,46 ----
#include "expr.h"
#include "toplev.h"
#include "basic-block.h"
+ #include "defaults.h"
#include "ggc.h"
#ifndef CHECK_STACK_LIMIT
*************** ix86_asm_file_end (file)
*** 1703,1709 ****
if (! TARGET_DEEP_BRANCH_PREDICTION || pic_label_name[0] == 0)
return;
! #ifdef ASM_OUTPUT_SECTION_NAME
/* The trick here is to create a linkonce section containing the
pic label thunk, but to refer to it with an internal label.
Because the label is internal, we don't have inter-dso name
--- 1704,1713 ----
if (! TARGET_DEEP_BRANCH_PREDICTION || pic_label_name[0] == 0)
return;
! /* ??? Binutils 2.10 and earlier has a linkonce elimination bug related
! to updating relocations to a section being discarded such that this
! doesn't work. Ought to detect this at configure time. */
! #if 0 && defined (ASM_OUTPUT_SECTION_NAME)
/* The trick here is to create a linkonce section containing the
pic label thunk, but to refer to it with an internal label.
Because the label is internal, we don't have inter-dso name