+++ /dev/null
-From binutils-return-33437-listarch-binutils=sources dot redhat dot com at sources dot redhat dot com Wed May 05 17:45:08 2004
-Return-Path: <binutils-return-33437-listarch-binutils=sources dot redhat dot com at sources dot redhat dot com>
-Delivered-To: listarch-binutils at sources dot redhat dot com
-Received: (qmail 20913 invoked by alias); 5 May 2004 17:45:08 -0000
-Mailing-List: contact binutils-help at sources dot redhat dot com; run by ezmlm
-Precedence: bulk
-List-Subscribe: <mailto:binutils-subscribe at sources dot redhat dot com>
-List-Archive: <http://sources.redhat.com/ml/binutils/>
-List-Post: <mailto:binutils at sources dot redhat dot com>
-List-Help: <mailto:binutils-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
-Sender: binutils-owner at sources dot redhat dot com
-Delivered-To: mailing list binutils at sources dot redhat dot com
-Received: (qmail 20904 invoked from network); 5 May 2004 17:45:05 -0000
-Received: from unknown (HELO dmz.algor.co.uk) (62.254.210.145)
- by sources dot redhat dot com with SMTP; 5 May 2004 17:45:05 -0000
-Received: from alg158.algor.co.uk ([62.254.210.158] helo=olympia.mips.com)
- by dmz dot algor dot co dot uk with esmtp (Exim 3 dot 35 #1 (Debian))
- id 1BLQgU-0007Tz-00; Wed, 05 May 2004 18:59:54 +0100
-Received: from stockwell.mips.com ([192.168.192.238])
- by olympia dot mips dot com with esmtp (Exim 3 dot 36 #1 (Debian))
- id 1BLQRk-0004Mi-00; Wed, 05 May 2004 18:44:40 +0100
-Subject: Re: [mips patch RFC] removal of gas embedded-pic support code
-From: David Ung <davidu at mips dot com>
-To: cgd at broadcom dot com, ica2_ts at csv dot ica dot uni-stuttgart dot de, binutils at sources dot redhat dot com
-Content-Type: text/plain
-Organization: MIPS Technologies UK
-Message-Id: <1083779079.31797.223.camel@stockwell.mips.com>
-Mime-Version: 1.0
-Date: Wed, 05 May 2004 18:44:40 +0100
-Content-Transfer-Encoding: 7bit
-X-MTUK-Scanner: Found to be clean
-X-MTUK-SpamCheck: not spam, SpamAssassin (score=-4.833, required 4, AWL,
- BAYES_00)
-
->At Thu, 29 Apr 2004 02:46:46 +0000 (UTC), "Thiemo Seufer" wrote:
->> I think it is ok.
->
->Thanks for looking it over.
->
->I've checked it in. I *really* hope it really doesn't break
->anything. 8-)
->
->
->chris
-
-Chris,
-
-woops. your recent patch seem to have broke building of the compiler on
-linux. The problem occurs when building for libgcc/./_divdi3.o
-
-gas fails with:
-Error: operation combines symbols in different segments
-
-as it is trying to assemble this piece of .s code generated from gcc.
-
- .section .eh_frame,"aw",@progbits
-$Lframe1:
- .4byte $LECIE1-$LSCIE1
-$LSCIE1:
- .4byte 0x0
- .byte 0x1
- .ascii "zR\000"
- .uleb128 0x1
- .sleb128 4
- .byte 0x1f
- .uleb128 0x1
- .byte 0x1b
- .byte 0xc
- .uleb128 0x1d
- .uleb128 0x0
- .align 2
-$LECIE1:
-$LSFDE1:
- .4byte $LEFDE1-$LASFDE1
-$LASFDE1:
- .4byte $LASFDE1-$Lframe1
- .4byte $LFB42-. **
- .4byte $LFE42-$LFB42
- .uleb128 0x0
-
-** $LFB42 is from the text section of divdi3.
-
-I've reverted back the necessary changes to your patch, so that it now
-works with the above.
-
-David.
-
-
-
-Index: gas/ChangeLog
-===================================================================
-RCS file: /cvsroot/gcc/src-cvs/src/gas/ChangeLog,v
-retrieving revision 1.2114
-diff -u -r1.2114 ChangeLog
---- gas/ChangeLog 29 Apr 2004 05:14:20 -0000 1.2114
-+++ gas/ChangeLog 5 May 2004 17:38:51 -0000
-@@ -1,0 +1,6 @@
-+2004-05-05 David Ung <davidu@mips.com>
-+
-+ * config/tc-mips.c (md_apply_fix3): Revert last change.
-+ (tc_gen_reloc): Put back pc rel handling.
-+ * config/tc-mips.h: Defines DIFF_EXPR_OK.
-+
---- gas/config/tc-mips.c.orig 2006-07-15 20:23:51.000000000 +0200
-+++ gas/config/tc-mips.c 2006-07-17 10:51:06.164440000 +0200
-@@ -11736,8 +11736,6 @@
-
- buf = (bfd_byte *) (fixP->fx_frag->fr_literal + fixP->fx_where);
-
-- assert (!fixP->fx_pcrel || fixP->fx_r_type == BFD_RELOC_16_PCREL_S2);
--
- /* Don't treat parts of a composite relocation as done. There are two
- reasons for this:
-
-@@ -13562,8 +13560,6 @@
-
- if (fixp->fx_pcrel)
- {
-- assert (fixp->fx_r_type == BFD_RELOC_16_PCREL_S2);
--
- /* At this point, fx_addnumber is "symbol offset - pcrel address".
- Relocations want only the symbol offset. */
- reloc->addend = fixp->fx_addnumber + reloc->address;
-@@ -13588,6 +13584,34 @@
- }
-
- code = fixp->fx_r_type;
-+ if (fixp->fx_pcrel)
-+ {
-+ switch (code)
-+ {
-+ case BFD_RELOC_8:
-+ code = BFD_RELOC_8_PCREL;
-+ break;
-+ case BFD_RELOC_16:
-+ code = BFD_RELOC_16_PCREL;
-+ break;
-+ case BFD_RELOC_32:
-+ code = BFD_RELOC_32_PCREL;
-+ break;
-+ case BFD_RELOC_64:
-+ code = BFD_RELOC_64_PCREL;
-+ break;
-+ case BFD_RELOC_8_PCREL:
-+ case BFD_RELOC_16_PCREL:
-+ case BFD_RELOC_32_PCREL:
-+ case BFD_RELOC_64_PCREL:
-+ case BFD_RELOC_16_PCREL_S2:
-+ break;
-+ default:
-+ as_bad_where (fixp->fx_file, fixp->fx_line,
-+ _("Cannot make %s relocation PC relative"),
-+ bfd_get_reloc_code_name (code));
-+ }
-+ }
-
- reloc->howto = bfd_reloc_type_lookup (stdoutput, code);
- if (reloc->howto == NULL)
-Index: gas/config/tc-mips.h
-===================================================================
-RCS file: /cvsroot/gcc/src-cvs/src/gas/config/tc-mips.h,v
-retrieving revision 1.35
-diff -u -r1.35 tc-mips.h
---- gas/config/tc-mips.h 29 Apr 2004 05:14:22 -0000 1.35
-+++ gas/config/tc-mips.h 5 May 2004 17:38:51 -0000
-@@ -58,6 +58,10 @@
-
- #define MAX_MEM_FOR_RS_ALIGN_CODE (1 + 2)
-
-+/* We permit PC relative difference expressions when generating
-+ embedded PIC code. */
-+#define DIFF_EXPR_OK
-+
- /* Tell assembler that we have an itbl_mips.h header file to include. */
- #define HAVE_ITBL_CPU
-