-
- Downloads
Fix PR87374: ICE with -mslow-flash-data and -mword-relocations
GCC ICEs under -mslow-flash-data and -mword-relocations because there is no way to load an address, both literal pools and MOVW/MOVT being forbidden. This patch gives an error message when both options are specified by the user and adds the according dg-skip-if directives for tests that use either of these options. It also explicitely set the option when in PIC mode as per documentation rather than always check for target_word_relocation together with flag_pic. 2018-10-31 Thomas Preud'homme <thomas.preudhomme@linaro.org> gcc/ PR target/87374 * config/arm/arm.c (arm_option_check_internal): Disable the combined use of -mslow-flash-data and -mword-relocations. (arm_option_override): Enable -mword-relocations if -fpic or -fPIC. * config/arm/arm.md (SYMBOL_REF MOVT splitter): Stop checking for flag_pic. * doc/invoke.texi (-mword-relocations): Mention conflict with -mslow-flash-data. (-mslow-flash-data): Reciprocally. gcc/testsuite/ PR target/87374 * gcc.target/arm/movdi_movt.c: Skip if both -mslow-flash-data and -mword-relocations would be passed when compiling the test. * gcc.target/arm/movsi_movt.c: Likewise. * gcc.target/arm/pr81863.c: Likewise. * gcc.target/arm/thumb2-slow-flash-data-1.c: Likewise. * gcc.target/arm/thumb2-slow-flash-data-2.c: Likewise. * gcc.target/arm/thumb2-slow-flash-data-3.c: Likewise. * gcc.target/arm/thumb2-slow-flash-data-4.c: Likewise. * gcc.target/arm/thumb2-slow-flash-data-5.c: Likewise. * gcc.target/arm/tls-disable-literal-pool.c: Likewise. From-SVN: r265662
Showing
- gcc/ChangeLog 12 additions, 0 deletionsgcc/ChangeLog
- gcc/config/arm/arm.c 15 additions, 7 deletionsgcc/config/arm/arm.c
- gcc/config/arm/arm.md 1 addition, 1 deletiongcc/config/arm/arm.md
- gcc/doc/invoke.texi 2 additions, 2 deletionsgcc/doc/invoke.texi
- gcc/testsuite/ChangeLog 14 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/arm/movdi_movt.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/movdi_movt.c
- gcc/testsuite/gcc.target/arm/movsi_movt.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/movsi_movt.c
- gcc/testsuite/gcc.target/arm/pr81863.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/pr81863.c
- gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-1.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-1.c
- gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-2.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-2.c
- gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-3.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-3.c
- gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-4.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-4.c
- gcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-5.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/thumb2-slow-flash-data-5.c
- gcc/testsuite/gcc.target/arm/tls-disable-literal-pool.c 1 addition, 0 deletionsgcc/testsuite/gcc.target/arm/tls-disable-literal-pool.c
Loading
Please register or sign in to comment