Implement CONVERT_SYMBOLIC_ATTRIBUTE for MIPS.
gas/ * config/tc-mips.c (streq): Define. (mips_convert_symbolic_attribute): New function. * config/tc-mips.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define. (mips_convert_symbolic_attribute): New prototype gas/testsuite/ * gas/mips/attr-gnu-abi-fp-1.s: New. * gas/mips/attr-gnu-abi-fp-1.d: New. * gas/mips/attr-gnu-abi-msa-1.s: New. * gas/mips/attr-gnu-abi-msa-1.d: New. * gas/mips/mips.exp: Add new tests.
This commit is contained in:
parent
68e0f6b16d
commit
263b257428
@ -1,3 +1,10 @@
|
||||
2014-05-08 Matthew Fortune <matthew.fortune@imgtec.com>
|
||||
|
||||
* config/tc-mips.c (streq): Define.
|
||||
(mips_convert_symbolic_attribute): New function.
|
||||
* config/tc-mips.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
|
||||
(mips_convert_symbolic_attribute): New prototype.
|
||||
|
||||
2014-05-02 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF*
|
||||
|
@ -42,6 +42,8 @@ typedef char static_assert2[sizeof (valueT) < 8 ? -1 : 1];
|
||||
#define DBG(x)
|
||||
#endif
|
||||
|
||||
#define streq(a, b) (strcmp (a, b) == 0)
|
||||
|
||||
#define SKIP_SPACE_TABS(S) \
|
||||
do { while (*(S) == ' ' || *(S) == '\t') ++(S); } while (0)
|
||||
|
||||
@ -18342,3 +18344,34 @@ tc_mips_regname_to_dw2regnum (char *regname)
|
||||
|
||||
return regnum;
|
||||
}
|
||||
|
||||
/* Implement CONVERT_SYMBOLIC_ATTRIBUTE.
|
||||
Given a symbolic attribute NAME, return the proper integer value.
|
||||
Returns -1 if the attribute is not known. */
|
||||
|
||||
int
|
||||
mips_convert_symbolic_attribute (const char *name)
|
||||
{
|
||||
static const struct
|
||||
{
|
||||
const char * name;
|
||||
const int tag;
|
||||
}
|
||||
attribute_table[] =
|
||||
{
|
||||
#define T(tag) {#tag, tag}
|
||||
T (Tag_GNU_MIPS_ABI_FP),
|
||||
T (Tag_GNU_MIPS_ABI_MSA),
|
||||
#undef T
|
||||
};
|
||||
unsigned int i;
|
||||
|
||||
if (name == NULL)
|
||||
return -1;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (attribute_table); i++)
|
||||
if (streq (name, attribute_table[i].name))
|
||||
return attribute_table[i].tag;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -194,4 +194,7 @@ extern int tc_mips_regname_to_dw2regnum (char *regname);
|
||||
64-bit form for n64 CFIs. */
|
||||
#define CFI_DIFF_EXPR_OK 0
|
||||
|
||||
#define CONVERT_SYMBOLIC_ATTRIBUTE(name) mips_convert_symbolic_attribute (name)
|
||||
extern int mips_convert_symbolic_attribute (const char *);
|
||||
|
||||
#endif /* TC_MIPS */
|
||||
|
@ -1,3 +1,11 @@
|
||||
2014-05-08 Matthew Fortune <matthew.fortune@imgtec.com>
|
||||
|
||||
* gas/mips/attr-gnu-abi-fp-1.s: New.
|
||||
* gas/mips/attr-gnu-abi-fp-1.d: New.
|
||||
* gas/mips/attr-gnu-abi-msa-1.s: New.
|
||||
* gas/mips/attr-gnu-abi-msa-1.d: New.
|
||||
* gas/mips/mips.exp: Add new tests.
|
||||
|
||||
2014-05-07 Andrew Bennett <andrew.bennett@imgtec.com>
|
||||
|
||||
* gas/mips/mips.exp: Add MIPS32r5 tests. Also add the mips32r3,
|
||||
|
8
gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d
Normal file
8
gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d
Normal file
@ -0,0 +1,8 @@
|
||||
#as: -32
|
||||
#source: attr-gnu-abi-fp-1.s
|
||||
#readelf: -A
|
||||
#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,1
|
||||
|
||||
Attribute Section: gnu
|
||||
File Attributes
|
||||
Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
|
1
gas/testsuite/gas/mips/attr-gnu-abi-fp-1.s
Normal file
1
gas/testsuite/gas/mips/attr-gnu-abi-fp-1.s
Normal file
@ -0,0 +1 @@
|
||||
.gnu_attribute Tag_GNU_MIPS_ABI_FP,1
|
7
gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d
Normal file
7
gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d
Normal file
@ -0,0 +1,7 @@
|
||||
#source: attr-gnu-abi-msa-1.s
|
||||
#readelf: -A
|
||||
#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_MSA,1
|
||||
|
||||
Attribute Section: gnu
|
||||
File Attributes
|
||||
Tag_GNU_MIPS_ABI_MSA: 128-bit MSA
|
1
gas/testsuite/gas/mips/attr-gnu-abi-msa-1.s
Normal file
1
gas/testsuite/gas/mips/attr-gnu-abi-msa-1.s
Normal file
@ -0,0 +1 @@
|
||||
.gnu_attribute Tag_GNU_MIPS_ABI_MSA,1
|
@ -1197,4 +1197,7 @@ if { [istarget mips*-*-vxworks*] } {
|
||||
run_dump_test "pcrel-4-n32"
|
||||
run_dump_test "pcrel-4-64"
|
||||
}
|
||||
|
||||
run_dump_test "attr-gnu-abi-fp-1"
|
||||
run_dump_test "attr-gnu-abi-msa-1"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user