]> git.ipfire.org Git - thirdparty/gcc.git/commit
mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
authorRichard Sandiford <richard@codesourcery.com>
Fri, 7 Sep 2007 07:37:38 +0000 (07:37 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 7 Sep 2007 07:37:38 +0000 (07:37 +0000)
commita318179e4ee3ba7c85fa9d9a7e29c44de86fa8ae
tree78825ebde82f0901c736de2aa59b465e6c062d60
parentf7de3bd3fa17db45c94a8ac57631c0ad3d673ced
mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.

config/
* mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
(CXXFLAGS_FOR_TARGET): Likewise.

gcc/
* doc/invoke.texi: Document the MIPS -mlocal-sdata, -mextern-sdata
and -mgpopt options.  Adjust the -G documentation to match.
* config/mips/mips.opt (mextern-data, mgpopt, mlocal-data): New.
* config/mips/mips.c (mips_rtx_constant_in_small_data_p): New
function, split out from mips_classify_symbol.  Return false for
!TARGET_LOCAL_SDATA.
(mips_classify_symbol): Call mips_rtx_constant_in_small_data_p.
Only use GP-relative accesses for non-pool symbols if TARGET_GPOPT.
(override_options): Check whether the -mgpopt setting is consistent
with the other flags.
(symbolic_expression_p): Delete.
(mips_select_rtx_section): Use mips_rtx_constant_in_small_data_p
and default_elf_select_rtx_section.
(mips_in_small_data_p): Honor section attributes for MIPS16 too.
Return false for local data unless TARGET_LOCAL_SDATA.  Likewise
external data and TARGET_EXTERN_SDATA.

gcc/testsuite/
* gcc.dg/attr-alias-3.c: Use real asm for MIPS.
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_gp
and mips_forced_no_er.
(dg-mips-options): Add -mno-abicalls when a small-data option is
specified.  Skip tests with small-data options if mips_forced_gp.
Skip tests with -mexplicit-relocs if mips_forced_no_er.
* gcc.target/mips/sdata-1.c: New test.
* gcc.target/mips/sdata-2.c: Likewise.
* gcc.target/mips/sdata-3.c: Likewise.
* gcc.target/mips/sdata-4.c: Likewise.

From-SVN: r128230
13 files changed:
config/ChangeLog
config/mt-sde
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/config/mips/mips.opt
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/attr-alias-3.c
gcc/testsuite/gcc.target/mips/mips.exp
gcc/testsuite/gcc.target/mips/sdata-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/sdata-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/sdata-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/sdata-4.c [new file with mode: 0644]