* config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h
commit709b2de5a9d00eb4d69a784f4fcbad749a3e198f
authorjiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Sep 2007 03:33:08 +0000 (19 03:33 +0000)
committerjiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Sep 2007 03:33:08 +0000 (19 03:33 +0000)
tree1a620cea00887fc92601dcbcdce06c0d1dba4bd3
parenta80f1c6c4b027d46539739592c836cd13f8193bb
* config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h
to tm_file.
* config/bfin/print-sysroot-suffix.sh: New.
* config/bfin/t-bfin-elf (EXTRA_PARTS): Remove.
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
MULTILIB_EXCEPTIONS): Redefine with new multilibs.
* config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove.
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
MULTILIB_EXCEPTIONS): Redefine with new multilibs.
* config/bfin/t-bfin-linux (EXTRA_PARTS): Remove.
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
MULTILIB_EXCEPTIONS): Redefine with new multilibs.
(linux-sysroot-suffix.h): New target.
* config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask.
(mspecld-anomaly): Likewise.
* config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from
(enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525,
BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542,
BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549.
(bfin_si_revision): Declare.
(bfin_workarounds): Declare.
(WA_SPECULATIVE_LOADS): Define.
(ENABLE_WA_SPECULATIVE_LOADS): Define.
(WA_SPECULATIVE_SYNCS): Define.
(ENABLE_WA_SPECULATIVE_SYNCS): Define.
* config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o.
(LIB_SPEC): Add %s to the linker scripts.
Use proper linker script for bf522, bf525, bf527,
bf538, bf539, bf542, bf544, bf548, and bf549.
* config/bfin/bfin.c (bfin_si_revision): Define.
(bfin_workarounds): Define.
(struct bfin_cpu): New.
(bfin_cpus): New.
(bfin_handle_option): Handle silicon revision part of -mcpu option.
(override_options): Set bfin_workarounds.
(length_for_loop): Replace TARGET_CSYNC_ANOMALY with
ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with
ENABLE_WA_SPECULATIVE_LOADS.
(bfin_reorg): Likewise.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
macros for bf522, bf525, bf527, bf538, bf539,
bf542, bf544, bf548, and bf549.
Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed.
Don't define __ID_SHARED_LIB__ when -msep-data.
(TARGET_DEFAULT): Define as 0.
(DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option.
* doc/invoke.texi (Blackfin Options): Document silicon
revision part of -mcpu option and it now accepts bf522, bf525,
bf527, bf538, bf539, bf542, bf544, bf548, and bf549.
Neither -mspecld-anomaly nor -mcsync-anomaly is enabled anymore.

testsuite/
* gcc.target/bfin/bfin.exp: New.
* gcc.target/bfin/{workarounds-any.c, workarounds-none.c,
workarounds-1.c, workarounds-2.c, workarounds-3.c, workarounds-4.c,
mcpu-bf522.c, mcpu-bf525.c, mcpu-bf527.c,
mcpu-bf531.c, mcpu-bf532.c, mcpu-bf533.c,
mcpu-bf534.c, mcpu-bf536.c, mcpu-bf537.c,
mcpu-bf538.c, mcpu-bf539.c, mcpu-bf542.c,
mcpu-bf544.c, mcpu-bf548.c, mcpu-bf549.c,
mcpu-bf561.c, mcpu-default.c}: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128597 138bc75d-0d04-0410-961f-82ee72b054a4
37 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/bfin/bfin-protos.h
gcc/config/bfin/bfin.c
gcc/config/bfin/bfin.h
gcc/config/bfin/bfin.opt
gcc/config/bfin/elf.h
gcc/config/bfin/print-sysroot-suffix.sh [new file with mode: 0644]
gcc/config/bfin/t-bfin-elf
gcc/config/bfin/t-bfin-linux
gcc/config/bfin/t-bfin-uclinux
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/bfin/bfin.exp
gcc/testsuite/gcc.target/bfin/mcpu-bf522.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf525.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf527.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf531.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf532.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf533.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf534.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf536.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf537.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf538.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf539.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf542.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf544.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf548.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf549.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-bf561.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/mcpu-default.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/workarounds-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/workarounds-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/workarounds-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/workarounds-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/workarounds-any.c [new file with mode: 0644]
gcc/testsuite/gcc.target/bfin/workarounds-none.c [new file with mode: 0644]