public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
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

  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).