MIPS/GAS: Disallow `.option picX' with VxWorks PIC
gas/ * config/tc-mips.c (s_option): Reject `.option picX' if VxWorks PIC. * testsuite/gas/mips/option-pic-vxworks-1.l: New list test. * testsuite/gas/mips/option-pic-vxworks-2.l: New list test. * testsuite/gas/mips/option-pic-vxworks-1.s: New test source. * testsuite/gas/mips/option-pic-vxworks-2.s: New test source. * testsuite/gas/mips/mips.exp: Run the new tests.
This commit is contained in:
parent
2e88a1ea30
commit
668c5ebc09
7 changed files with 35 additions and 3 deletions
|
@ -1,3 +1,13 @@
|
|||
2016-04-09 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* config/tc-mips.c (s_option): Reject `.option picX' if VxWorks
|
||||
PIC.
|
||||
* testsuite/gas/mips/option-pic-vxworks-1.l: New list test.
|
||||
* testsuite/gas/mips/option-pic-vxworks-2.l: New list test.
|
||||
* testsuite/gas/mips/option-pic-vxworks-1.s: New test source.
|
||||
* testsuite/gas/mips/option-pic-vxworks-2.s: New test source.
|
||||
* testsuite/gas/mips/mips.exp: Run the new tests.
|
||||
|
||||
2016-04-09 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* config/tc-mips.c (can_swap_branch_p): Correct call formatting.
|
||||
|
|
|
@ -15477,15 +15477,17 @@ s_option (int x ATTRIBUTE_UNUSED)
|
|||
int i;
|
||||
|
||||
i = atoi (opt + 3);
|
||||
if (i == 0)
|
||||
if (i != 0 && i != 2)
|
||||
as_bad (_(".option pic%d not supported"), i);
|
||||
else if (mips_pic == VXWORKS_PIC)
|
||||
as_bad (_(".option pic%d not supported in VxWorks PIC mode"), i);
|
||||
else if (i == 0)
|
||||
mips_pic = NO_PIC;
|
||||
else if (i == 2)
|
||||
{
|
||||
mips_pic = SVR4_PIC;
|
||||
mips_abicalls = TRUE;
|
||||
}
|
||||
else
|
||||
as_bad (_(".option pic%d not supported"), i);
|
||||
|
||||
if (mips_pic == SVR4_PIC)
|
||||
{
|
||||
|
|
|
@ -513,6 +513,11 @@ if { [istarget mips*-*-vxworks*] } {
|
|||
run_dump_test "vxworks1-xgot"
|
||||
run_dump_test "vxworks1-el"
|
||||
run_dump_test "vxworks1-xgot-el"
|
||||
|
||||
run_list_test "option-pic-vxworks-1" "-mvxworks-pic" \
|
||||
"MIPS invalid PIC option in VxWorks PIC"
|
||||
run_list_test "option-pic-vxworks-2" "-mvxworks-pic" \
|
||||
"MIPS invalid switch to SVR4 PIC from VxWorks PIC"
|
||||
} elseif { [istarget mips*-*-*] } {
|
||||
set addr32 [expr [istarget mipstx39*-*-*] || [istarget mips-*-linux*] || [istarget mipsel-*-linux*] \
|
||||
|| [istarget mipsisa32-*-linux*] || [istarget mipsisa32el-*-linux*]]
|
||||
|
@ -1469,6 +1474,11 @@ if { [istarget mips*-*-vxworks*] } {
|
|||
|
||||
run_dump_test "li-d"
|
||||
|
||||
run_list_test "option-pic-vxworks-1" "-mvxworks-pic" \
|
||||
"MIPS invalid PIC option in VxWorks PIC"
|
||||
run_list_test "option-pic-vxworks-2" "-mvxworks-pic" \
|
||||
"MIPS invalid switch to SVR4 PIC from VxWorks PIC"
|
||||
|
||||
run_dump_test_arches "r6" [mips_arch_list_matching mips32r6]
|
||||
if $has_newabi {
|
||||
run_dump_test_arches "r6-n32" [mips_arch_list_matching mips64r6]
|
||||
|
|
3
gas/testsuite/gas/mips/option-pic-vxworks-1.l
Normal file
3
gas/testsuite/gas/mips/option-pic-vxworks-1.l
Normal file
|
@ -0,0 +1,3 @@
|
|||
.*: Assembler messages:
|
||||
.*:1: Error: \.option pic1 not supported
|
||||
.*:2: Error: \.option pic3 not supported
|
2
gas/testsuite/gas/mips/option-pic-vxworks-1.s
Normal file
2
gas/testsuite/gas/mips/option-pic-vxworks-1.s
Normal file
|
@ -0,0 +1,2 @@
|
|||
.option pic1
|
||||
.option pic3
|
3
gas/testsuite/gas/mips/option-pic-vxworks-2.l
Normal file
3
gas/testsuite/gas/mips/option-pic-vxworks-2.l
Normal file
|
@ -0,0 +1,3 @@
|
|||
.*: Assembler messages:
|
||||
.*:1: Error: \.option pic0 not supported in VxWorks PIC mode
|
||||
.*:2: Error: \.option pic2 not supported in VxWorks PIC mode
|
2
gas/testsuite/gas/mips/option-pic-vxworks-2.s
Normal file
2
gas/testsuite/gas/mips/option-pic-vxworks-2.s
Normal file
|
@ -0,0 +1,2 @@
|
|||
.option pic0
|
||||
.option pic2
|
Loading…
Add table
Reference in a new issue