This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/11924] mips64-linux o32 accesses to certain file-local data incorrectly generated
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Aug 2003 02:58:28 -0000
- Subject: [Bug target/11924] mips64-linux o32 accesses to certain file-local data incorrectly generated
- References: <20030815005355.11924.cgd@broadcom.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11924
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at redhat dot com
Keywords| |wrong-code
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-08-15 02:58 -------
-mexplicit-relocs was added to the mainline when the mips-3_4-rewrite was merged in.
I want to say this bug is caused by
2003-03-13 Richard Sandiford
* config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
and -mno-explicit-relocs.
(MASK_EXPLICIT_RELOCS): Define.
(TARGET_EXPLICIT_RELOCS): Use it.
(mips_split_addresses): Remove declaration.
* config/mips/mips.c (override_options): Update comment for
mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
or this change:
2003-02-11 Richard Sandiford
* config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
* config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
(ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
(EXTRA_CONSTRAINT): Allow symbolic call addresses for
TARGET_ABICALLS.
* config/mips/mips.md (UNSPEC_HIGH): New constant.
(UNSPEC_RELOC_GPREL16): Rename to...
(RELOC_GPREL16): ...this.
(RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE,
RELOC_GOT_DISP): New.
(RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
(macro_calls): New attribute.
(length): Use it to set the default length of calls. Don't allow
calls to have delay slots if macro_calls is "yes".
(luisi, luidi): New patterns.
(lowsi, lowdi): Use '%R' to print the relocation.
(lowdi_extend): Remove.
(loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
(call_internal): Merge alternatives. Always use "jal".
(call_value_internal, call_value_multiple_internal): Likewise.
(reloc_gprel16): Remove.
* config/mips/mips.c (mips_got_alias_set): New variable.
(mips_classify_constant): Handle the new relocation constants.
(mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
(mips_symbolic_address_p): Return false if generating explicit relocs.
Otherwise allow local PIC symbols to have an offset.
(mips_splittable_symbol_p): New function.
Adding CC to Richard Sandiford since it looks like it was his patch but I do not know for
sure.