[v3,0/3] MIPS: default output isa rev base on configuration

Message ID 20210328143520.2926076-1-yunqiang.su@cipunited.com
Headers show
Series
  • MIPS: default output isa rev base on configuration
Related show

Message

YunQiang Su March 28, 2021, 2:35 p.m.
currently we find 2 usecases with problem:

1. mipsisa32r6el-linux-gnu-ld -r -b binary xx.dat -o xx.o
   the output will be MIPS I, while we expect MIPS32r6.
2. mipsisa32r6el-linux-gnu-as -march=from-abi xx.s
   the output will be MIPS I, while we expect MIPS32r6.

and we may also need to configure the default output of
ld/gas in build time, instead hardcoded mips1/mips3 now.

So we introduce --with-arch-32 and --with-arch-64 options
for generic triples: mips-/mipsel/mips64/mips64el etc.

We also to set the default output to expected isa rev for
 mipsisa[32,64]rN[,el]-

YunQiang Su (3):
  MIPS: Fix test failure with FPXX GCC
  MIPS: default output r6 object if configured to r6
  MIPS: Fix testcase for MIPSr6

 bfd/config.bfd                                |  16 +
 bfd/configure                                 |   2 +
 bfd/configure.ac                              |   2 +
 bfd/elfxx-mips.c                              |   8 +
 .../mips/global-local-symtab-final-n32.d      |   2 +-
 .../mips/global-local-symtab-final-n64.d      |   2 +-
 .../mips/global-local-symtab-n32.d            |   2 +-
 .../mips/global-local-symtab-n32t.d           |   2 +-
 .../mips/global-local-symtab-n64.d            |   2 +-
 .../mips/global-local-symtab-sort-n32.d       |   2 +-
 .../mips/global-local-symtab-sort-n32t.d      |   2 +-
 .../mips/global-local-symtab-sort-n64.d       |   2 +-
 .../mips/global-local-symtab-sort-n64t.d      |   2 +-
 .../binutils-all/mips/mips-xpa-virt-1.d       |   8 +-
 .../binutils-all/mips/mips-xpa-virt-2.d       |   4 +-
 .../binutils-all/mips/mips-xpa-virt-3.d       |   4 +-
 binutils/testsuite/binutils-all/mips/mips.exp |  12 +
 gas/config.in                                 |   6 +
 gas/config/tc-mips.c                          |  19 +-
 gas/configure                                 |  83 +-
 gas/configure.ac                              |  77 +-
 gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d   |   2 +-
 gas/testsuite/gas/mips/branch-section-1.d     |   2 +-
 gas/testsuite/gas/mips/branch-section-3.d     |   2 +-
 gas/testsuite/gas/mips/branch-weak-1.d        |   2 +-
 gas/testsuite/gas/mips/elf-rel.s              |  36 +-
 gas/testsuite/gas/mips/elfel-rel.d            |  12 +-
 gas/testsuite/gas/mips/mips.exp               | 976 ++++++++++--------
 gas/testsuite/gas/mips/mipsr6@beq.d           |   2 +-
 gas/testsuite/gas/mips/mipsr6@cache.d         |   2 +-
 gas/testsuite/gas/mips/mipsr6@hwr-names.d     |   2 +-
 gas/testsuite/gas/mips/mipsr6@mips32.d        |   4 +-
 gas/testsuite/gas/mips/mipsr6@pref.d          |   2 +-
 gas/testsuite/gas/mips/option-pic-1.d         |   2 +-
 ld/testsuite/ld-elf/elf.exp                   |   8 +
 ld/testsuite/ld-elf/shared.exp                |   5 +
 ld/testsuite/ld-elf/tls.exp                   |  12 +
 ld/testsuite/ld-elfvers/vers.exp              |   7 +
 ld/testsuite/ld-mips-elf/attr-gnu-4-01.d      |   1 +
 ld/testsuite/ld-mips-elf/attr-gnu-4-11.d      |   1 +
 ld/testsuite/ld-mips-elf/attr-gnu-4-41.d      |   1 +
 ld/testsuite/ld-mips-elf/attr-gnu-8-00.d      |   2 +-
 ld/testsuite/ld-mips-elf/attr-gnu-8-01.d      |   2 +-
 ld/testsuite/ld-mips-elf/attr-gnu-8-02.d      |   2 +-
 ld/testsuite/ld-mips-elf/attr-gnu-8-10.d      |   2 +-
 ld/testsuite/ld-mips-elf/attr-gnu-8-11.d      |   2 +-
 ld/testsuite/ld-mips-elf/attr-gnu-8-20.d      |   2 +-
 ld/testsuite/ld-mips-elf/attr-gnu-8-22.d      |   2 +-
 .../ld-mips-elf/convert-data-to-obj.hd        |   4 +
 ld/testsuite/ld-mips-elf/emit-relocs-1.d      |   2 +-
 .../ld-mips-elf/export-class-call16-n32.dd    |   8 +-
 .../ld-mips-elf/export-class-call16-n64.dd    |   8 +-
 .../ld-mips-elf/export-class-call16-o32.dd    |   8 +-
 ld/testsuite/ld-mips-elf/gp-disp-sym.s        |   2 +-
 ld/testsuite/ld-mips-elf/jalr3.dd             |   2 +-
 ld/testsuite/ld-mips-elf/jalr4.dd             |   8 +-
 ld/testsuite/ld-mips-elf/mips-elf.exp         | 328 +++---
 ld/testsuite/ld-mips-elf/n64-plt-1.dd         |   2 +-
 ld/testsuite/ld-mips-elf/n64-plt-4.dd         |   2 +-
 ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d   |   2 +-
 60 files changed, 1000 insertions(+), 730 deletions(-)
 create mode 100644 ld/testsuite/ld-mips-elf/convert-data-to-obj.hd

-- 
2.30.2

Comments

YunQiang Su March 30, 2021, 6:41 a.m. | #1
CC Pual Hua.
YunQiang Su <yunqiang.su@cipunited.com> 于2021年3月28日周日 下午10:35写道:
>

> currently we find 2 usecases with problem:

>

> 1. mipsisa32r6el-linux-gnu-ld -r -b binary xx.dat -o xx.o

>    the output will be MIPS I, while we expect MIPS32r6.

> 2. mipsisa32r6el-linux-gnu-as -march=from-abi xx.s

>    the output will be MIPS I, while we expect MIPS32r6.

>

> and we may also need to configure the default output of

> ld/gas in build time, instead hardcoded mips1/mips3 now.

>

> So we introduce --with-arch-32 and --with-arch-64 options

> for generic triples: mips-/mipsel/mips64/mips64el etc.

>

> We also to set the default output to expected isa rev for

>  mipsisa[32,64]rN[,el]-

>

> YunQiang Su (3):

>   MIPS: Fix test failure with FPXX GCC

>   MIPS: default output r6 object if configured to r6

>   MIPS: Fix testcase for MIPSr6

>

>  bfd/config.bfd                                |  16 +

>  bfd/configure                                 |   2 +

>  bfd/configure.ac                              |   2 +

>  bfd/elfxx-mips.c                              |   8 +

>  .../mips/global-local-symtab-final-n32.d      |   2 +-

>  .../mips/global-local-symtab-final-n64.d      |   2 +-

>  .../mips/global-local-symtab-n32.d            |   2 +-

>  .../mips/global-local-symtab-n32t.d           |   2 +-

>  .../mips/global-local-symtab-n64.d            |   2 +-

>  .../mips/global-local-symtab-sort-n32.d       |   2 +-

>  .../mips/global-local-symtab-sort-n32t.d      |   2 +-

>  .../mips/global-local-symtab-sort-n64.d       |   2 +-

>  .../mips/global-local-symtab-sort-n64t.d      |   2 +-

>  .../binutils-all/mips/mips-xpa-virt-1.d       |   8 +-

>  .../binutils-all/mips/mips-xpa-virt-2.d       |   4 +-

>  .../binutils-all/mips/mips-xpa-virt-3.d       |   4 +-

>  binutils/testsuite/binutils-all/mips/mips.exp |  12 +

>  gas/config.in                                 |   6 +

>  gas/config/tc-mips.c                          |  19 +-

>  gas/configure                                 |  83 +-

>  gas/configure.ac                              |  77 +-

>  gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d   |   2 +-

>  gas/testsuite/gas/mips/branch-section-1.d     |   2 +-

>  gas/testsuite/gas/mips/branch-section-3.d     |   2 +-

>  gas/testsuite/gas/mips/branch-weak-1.d        |   2 +-

>  gas/testsuite/gas/mips/elf-rel.s              |  36 +-

>  gas/testsuite/gas/mips/elfel-rel.d            |  12 +-

>  gas/testsuite/gas/mips/mips.exp               | 976 ++++++++++--------

>  gas/testsuite/gas/mips/mipsr6@beq.d           |   2 +-

>  gas/testsuite/gas/mips/mipsr6@cache.d         |   2 +-

>  gas/testsuite/gas/mips/mipsr6@hwr-names.d     |   2 +-

>  gas/testsuite/gas/mips/mipsr6@mips32.d        |   4 +-

>  gas/testsuite/gas/mips/mipsr6@pref.d          |   2 +-

>  gas/testsuite/gas/mips/option-pic-1.d         |   2 +-

>  ld/testsuite/ld-elf/elf.exp                   |   8 +

>  ld/testsuite/ld-elf/shared.exp                |   5 +

>  ld/testsuite/ld-elf/tls.exp                   |  12 +

>  ld/testsuite/ld-elfvers/vers.exp              |   7 +

>  ld/testsuite/ld-mips-elf/attr-gnu-4-01.d      |   1 +

>  ld/testsuite/ld-mips-elf/attr-gnu-4-11.d      |   1 +

>  ld/testsuite/ld-mips-elf/attr-gnu-4-41.d      |   1 +

>  ld/testsuite/ld-mips-elf/attr-gnu-8-00.d      |   2 +-

>  ld/testsuite/ld-mips-elf/attr-gnu-8-01.d      |   2 +-

>  ld/testsuite/ld-mips-elf/attr-gnu-8-02.d      |   2 +-

>  ld/testsuite/ld-mips-elf/attr-gnu-8-10.d      |   2 +-

>  ld/testsuite/ld-mips-elf/attr-gnu-8-11.d      |   2 +-

>  ld/testsuite/ld-mips-elf/attr-gnu-8-20.d      |   2 +-

>  ld/testsuite/ld-mips-elf/attr-gnu-8-22.d      |   2 +-

>  .../ld-mips-elf/convert-data-to-obj.hd        |   4 +

>  ld/testsuite/ld-mips-elf/emit-relocs-1.d      |   2 +-

>  .../ld-mips-elf/export-class-call16-n32.dd    |   8 +-

>  .../ld-mips-elf/export-class-call16-n64.dd    |   8 +-

>  .../ld-mips-elf/export-class-call16-o32.dd    |   8 +-

>  ld/testsuite/ld-mips-elf/gp-disp-sym.s        |   2 +-

>  ld/testsuite/ld-mips-elf/jalr3.dd             |   2 +-

>  ld/testsuite/ld-mips-elf/jalr4.dd             |   8 +-

>  ld/testsuite/ld-mips-elf/mips-elf.exp         | 328 +++---

>  ld/testsuite/ld-mips-elf/n64-plt-1.dd         |   2 +-

>  ld/testsuite/ld-mips-elf/n64-plt-4.dd         |   2 +-

>  ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d   |   2 +-

>  60 files changed, 1000 insertions(+), 730 deletions(-)

>  create mode 100644 ld/testsuite/ld-mips-elf/convert-data-to-obj.hd

>

> --

> 2.30.2

>