From: YunQiang Su <wzssyqa@gmail.com>
To: YunQiang Su <yunqiang.su@cipunited.com>
Cc: binutils@sourceware.org, macro@orcam.me.uk,
paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com
Subject: Re: [PATCH v4 7/7] MIPS: Fix Irix gas testcases
Date: Tue, 15 Aug 2023 12:40:56 +0800 [thread overview]
Message-ID: <CAKcpw6VkvZE1c=ntgYjK0k+QdH4YjE3jY6U-kuQDA=WL9F=SNw@mail.gmail.com> (raw)
In-Reply-To: <20230616063412.1715024-8-yunqiang.su@cipunited.com>
YunQiang Su <yunqiang.su@cipunited.com> 于2023年6月16日周五 14:41写道:
>
> 1. Add -mpdr to some cases.
> Gas doesn't generate .pdr section for Irix objects by default. See
> `int mips_flag_pdr` in tc-mips.c.
>
> 2. Add irix-no-pdr.d.
>
> 3. Add and use call-nonpic-1-irix.d for Irix targets.
> Gas doesn't set O32 flags for Irix objects in e_flags. See
> `use_e_mips_abi_o32` in gas/configure.ac.
>
> 4. Add mips16-e-irix.d: g1 is marked as O on Irix.
> The Irix 5 and 6 assemblers set the type of any common symbol and
> any undefined non-function symbol to STT_OBJECT.
> See `mips_frob_symbol` in tc-mips.c.
@Maciej W. Rozycki ping.
> ---
> gas/testsuite/gas/elf/elf.exp | 4 ++
> gas/testsuite/gas/mips/call-nonpic-1-irix.d | 30 +++++++++++++
> gas/testsuite/gas/mips/elf-rel26.d | 2 +-
> gas/testsuite/gas/mips/irix-no-pdr.d | 8 ++++
> gas/testsuite/gas/mips/mips.exp | 11 ++++-
> gas/testsuite/gas/mips/mips16-e-irix.d | 50 +++++++++++++++++++++
> gas/testsuite/gas/mips/mips16-e.d | 2 +-
> gas/testsuite/gas/mips/mips16-f.d | 2 +-
> gas/testsuite/gas/mips/mips16-hilo-match.d | 2 +-
> 9 files changed, 105 insertions(+), 6 deletions(-)
> create mode 100644 gas/testsuite/gas/mips/call-nonpic-1-irix.d
> create mode 100644 gas/testsuite/gas/mips/irix-no-pdr.d
> create mode 100644 gas/testsuite/gas/mips/mips16-e-irix.d
>
> diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
> index 4890dd93420..0abe730c375 100644
> --- a/gas/testsuite/gas/elf/elf.exp
> +++ b/gas/testsuite/gas/elf/elf.exp
> @@ -207,6 +207,10 @@ if { [is_elf_format] } then {
> riscv*-*-* {
> set as_flags "$as_flags -march-attr"
> }
> + mips*-*-* {
> + # Irix has no pdr section by default.
> + set as_flags "$as_flags -mpdr"
> + }
> }
> run_elf_list_test "section2" "$target_machine" "$as_flags" "-s" ""
> }
> diff --git a/gas/testsuite/gas/mips/call-nonpic-1-irix.d b/gas/testsuite/gas/mips/call-nonpic-1-irix.d
> new file mode 100644
> index 00000000000..3cff1ca672b
> --- /dev/null
> +++ b/gas/testsuite/gas/mips/call-nonpic-1-irix.d
> @@ -0,0 +1,30 @@
> +#as: -mabi=32 -mips2 -call_nonpic
> +#objdump: -pdr
> +#source: call-nonpic-1.s
> +
> +.*
> +private flags = 10000004: .*
> +
> +MIPS ABI Flags Version: 0
> +
> +ISA: MIPS2
> +GPR size: 32
> +CPR1 size: 32
> +CPR2 size: 0
> +FP ABI: Hard float \(double precision\)
> +ISA Extension: None
> +ASEs:
> + None
> +FLAGS 1: 00000000
> +FLAGS 2: 00000000
> +
> +
> +Disassembly of section \.text:
> +
> +0+0 <\.text>:
> +.* lui t9,0x0
> +.*: R_MIPS_HI16 foo
> +.* addiu t9,t9,0
> +.*: R_MIPS_LO16 foo
> +.* jalr t9
> +.* nop
> diff --git a/gas/testsuite/gas/mips/elf-rel26.d b/gas/testsuite/gas/mips/elf-rel26.d
> index aeb4e16d178..71fbe83d4b6 100644
> --- a/gas/testsuite/gas/mips/elf-rel26.d
> +++ b/gas/testsuite/gas/mips/elf-rel26.d
> @@ -1,4 +1,4 @@
> -#as: -mips32 -32 -EL -KPIC
> +#as: -mips32 -32 -EL -KPIC -mpdr
> #readelf: --relocs
> #name: MIPS ELF reloc 26
>
> diff --git a/gas/testsuite/gas/mips/irix-no-pdr.d b/gas/testsuite/gas/mips/irix-no-pdr.d
> new file mode 100644
> index 00000000000..7268e020c9f
> --- /dev/null
> +++ b/gas/testsuite/gas/mips/irix-no-pdr.d
> @@ -0,0 +1,8 @@
> +#objdump: -rst
> +#name: Irix has no .pdr section
> +#as: -32 -mips32
> +#source: sync.s
> +
> +#failif
> +.*\.pdr.*
> +#pass
> diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
> index 4bfb350beb9..336eb6afbde 100644
> --- a/gas/testsuite/gas/mips/mips.exp
> +++ b/gas/testsuite/gas/mips/mips.exp
> @@ -1254,7 +1254,7 @@ if { [istarget mips*-*-vxworks*] } {
> run_dump_test "comdat-reloc"
> run_dump_test "comdat-reloc-r6"
>
> - run_dump_test "${tmips}mips${el}16-e"
> + run_dump_test "${tmips}mips${el}16-e${imips}"
> run_dump_test "${tmips}mips${el}16-f"
>
> run_dump_test "elf-consthilo"
> @@ -1553,7 +1553,8 @@ if { [istarget mips*-*-vxworks*] } {
> [mips_arch_list_matching mips1 !singlefloat]
>
> run_dump_test "mips16-vis-1"
> - run_dump_test "call-nonpic-1"
> + # Irix sets use_e_mips_abi_o32=0. See gas/configure.ac.
> + run_dump_test "call-nonpic-1${imips}"
> run_dump_test "mips32-sync"
> run_dump_test_arches "mips32r2-sync" [lsort -dictionary -unique [concat \
> [mips_arch_list_matching mips32r2] \
> @@ -2187,4 +2188,10 @@ if { [istarget mips*-*-vxworks*] } {
> run_dump_test "global-local-symtab-sort-n32${tmips}"
> run_dump_test "global-local-symtab-sort-n64${tmips}"
> }
> +
> + # Gas doesn't generate .pdr section for Irix objects by default.
> + # See `int mips_flag_pdr` in tc-mips.c.
> + if [istarget *-*-irix*] {
> + run_dump_test "irix-no-pdr"
> + }
> }
> diff --git a/gas/testsuite/gas/mips/mips16-e-irix.d b/gas/testsuite/gas/mips/mips16-e-irix.d
> new file mode 100644
> index 00000000000..1b473deb281
> --- /dev/null
> +++ b/gas/testsuite/gas/mips/mips16-e-irix.d
> @@ -0,0 +1,50 @@
> +#objdump: -rst --special-syms -mips16
> +#name: MIPS16 reloc
> +#as: -32 -mips16 -mips32 -mpdr
> +#source: mips16-e.s
> +
> +# The Irix 5 and 6 assemblers set the type of any common symbol and
> +# any undefined non-function symbol to STT_OBJECT.
> +# See `mips_frob_symbol` in tc-mips.c.
> +
> +# Check MIPS16 reloc processing
> +
> +.*: +file format elf.*mips.*
> +
> +SYMBOL TABLE:
> +0+0000000 l d \.text 0+0000000 (|\.text)
> +0+0000000 l d \.data 0+0000000 (|\.data)
> +0+0000000 l d \.bss 0+0000000 (|\.bss)
> +0+0000000 l d foo 0+0000000 (|foo)
> +0+0000000 l d \.reginfo 0+0000000 (|\.reginfo)
> +0+0000000 l d \.MIPS\.abiflags 0+0000000 (|\.MIPS\.abiflags)
> +0+0000000 l d \.(mdebug|pdr) 0+0000000 (|\.mdebug|\.pdr)
> +0+0000000 l d \.gnu\.attributes 0+0000000 (|\.gnu\.attributes)
> +0+0000002 l \.text 0+0000000 0xf0 l1
> +0+0000004 l \.text 0+0000000 0xf0 \.L1.*1
> +0+0000000 O \*UND\* 0+0000000 g1
> +
> +
> +RELOCATION RECORDS FOR \[foo\]:
> +OFFSET +TYPE +VALUE
> +0+0000000 R_MIPS_32 l1
> +0+0000004 R_MIPS_32 l1
> +0+0000008 R_MIPS_32 \.L1.*1
> +0+000000c R_MIPS_32 \.L1.*1
> +0+0000010 R_MIPS_32 g1
> +0+0000014 R_MIPS_32 g1
> +
> +
> +Contents of section \.text:
> + 0000 65006500 65006500 65006500 65006500 .*
> +Contents of section \.reginfo:
> + 0000 00010000 00000000 00000000 00000000 .*
> + 0010 00000000 00000000 .*
> +Contents of section \.MIPS\.abiflags:
> + .*
> + .*
> +Contents of section foo:
> + 0000 00000000 00000008 00000000 00000003 .*
> + 0010 00000000 00000008 00000000 00000000 .*
> +Contents of section \.gnu\.attributes:
> + .*
> diff --git a/gas/testsuite/gas/mips/mips16-e.d b/gas/testsuite/gas/mips/mips16-e.d
> index d4522d6e7c8..9a7c3e82c0c 100644
> --- a/gas/testsuite/gas/mips/mips16-e.d
> +++ b/gas/testsuite/gas/mips/mips16-e.d
> @@ -1,6 +1,6 @@
> #objdump: -rst --special-syms -mips16
> #name: MIPS16 reloc
> -#as: -32 -mips16 -mips32
> +#as: -32 -mips16 -mips32 -mpdr
>
> # Check MIPS16 reloc processing
>
> diff --git a/gas/testsuite/gas/mips/mips16-f.d b/gas/testsuite/gas/mips/mips16-f.d
> index 62e30a31840..0ed246cfbba 100644
> --- a/gas/testsuite/gas/mips/mips16-f.d
> +++ b/gas/testsuite/gas/mips/mips16-f.d
> @@ -1,6 +1,6 @@
> #objdump: -rst -mips16
> #name: MIPS16 reloc 2
> -#as: -32 -mips16 -mips32
> +#as: -32 -mips16 -mips32 -mpdr
>
> # Check MIPS16 reloc processing
>
> diff --git a/gas/testsuite/gas/mips/mips16-hilo-match.d b/gas/testsuite/gas/mips/mips16-hilo-match.d
> index 76ad7b39cdd..7b42f6946c1 100644
> --- a/gas/testsuite/gas/mips/mips16-hilo-match.d
> +++ b/gas/testsuite/gas/mips/mips16-hilo-match.d
> @@ -1,5 +1,5 @@
> #objdump: -r
> -#as: -mabi=32 -march=mips1
> +#as: -mabi=32 -march=mips1 -mpdr
> #name: MIPS16 mips16-hilo-match
>
> .*: +file format .*mips.*
> --
> 2.30.2
>
--
YunQiang Su
next prev parent reply other threads:[~2023-08-15 4:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-16 6:34 [PATCH v4 0/7] Some MIPS changes and testsuite fixes YunQiang Su
2023-06-16 6:34 ` [PATCH v4 1/7] MIPS: Gas: alter 64 or 32 for mipsisa triples if march is implicit YunQiang Su
2023-06-29 10:12 ` YunQiang Su
2023-06-16 6:34 ` [PATCH v4 2/7] MIPS: Set r6 as default arch if vendor is img YunQiang Su
2023-06-16 6:34 ` [PATCH v4 3/7] MIPS: Fix r6 testsuites YunQiang Su
2023-06-16 6:34 ` [PATCH v4 4/7] MIPS: Fix -gnuabi64 testsuite YunQiang Su
2023-06-16 6:34 ` [PATCH v4 5/7] MIPS: Fix some ld testcases with compiler YunQiang Su
2023-06-19 6:44 ` Alan Modra
2023-06-19 10:43 ` YunQiang Su
2023-06-20 0:00 ` Alan Modra
2023-06-20 1:40 ` YunQiang Su
2023-06-20 2:34 ` Alan Modra
2023-06-20 3:17 ` YunQiang Su
2023-06-20 3:57 ` Alan Modra
2023-06-21 5:05 ` YunQiang Su
2023-06-21 10:53 ` YunQiang Su
2023-06-21 10:59 ` Xi Ruoyao
2023-06-21 11:03 ` YunQiang Su
2023-06-29 14:17 ` YunQiang Su
2023-06-20 2:58 ` Alan Modra
2023-07-03 4:00 ` YunQiang Su
2023-06-16 6:34 ` [PATCH v4 6/7] MIPS: Disable fix-rm7000-2 and llpscp-64 if not has_newabi YunQiang Su
2023-06-16 6:34 ` [PATCH v4 7/7] MIPS: Fix Irix gas testcases YunQiang Su
2023-08-15 4:40 ` YunQiang Su [this message]
2023-08-15 6:13 ` Jan Beulich
2023-08-15 10:14 ` Maciej W. Rozycki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKcpw6VkvZE1c=ntgYjK0k+QdH4YjE3jY6U-kuQDA=WL9F=SNw@mail.gmail.com' \
--to=wzssyqa@gmail.com \
--cc=amodra@gmail.com \
--cc=binutils@sourceware.org \
--cc=jbeulich@suse.com \
--cc=macro@orcam.me.uk \
--cc=paul.hua.gm@gmail.com \
--cc=yunqiang.su@cipunited.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).