From: Jan Beulich <jbeulich@sourceware.org>
To: bfd-cvs@sourceware.org
Subject: [binutils-gdb] gas: add Dwarf line number test for .macro expansions
Date: Mon, 5 Dec 2022 12:53:20 +0000 (GMT) [thread overview]
Message-ID: <20221205125320.EBD6D389A131@sourceware.org> (raw)
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6fdb723799e28de9a7df87b68a41c668fc18ce2a
commit 6fdb723799e28de9a7df87b68a41c668fc18ce2a
Author: Jan Beulich <jbeulich@suse.com>
Date: Mon Dec 5 13:52:55 2022 +0100
gas: add Dwarf line number test for .macro expansions
Before fiddling with the code let's put in place a test covering what
PR/gas 16908 aimed at.
Diff:
---
gas/testsuite/gas/elf/dwarf-5-macro.d | 27 +++++++++++++++++++++++++++
gas/testsuite/gas/elf/dwarf-5-macro.s | 28 ++++++++++++++++++++++++++++
gas/testsuite/gas/elf/elf.exp | 1 +
3 files changed, 56 insertions(+)
diff --git a/gas/testsuite/gas/elf/dwarf-5-macro.d b/gas/testsuite/gas/elf/dwarf-5-macro.d
new file mode 100644
index 00000000000..794e17a575e
--- /dev/null
+++ b/gas/testsuite/gas/elf/dwarf-5-macro.d
@@ -0,0 +1,27 @@
+#as: --gdwarf-5
+#name: line number entries for .macro expansions
+#readelf: -W -wl
+# The am33 cr16 crx ft32 mn10* msp430 nds32* and rl78 targets do not evaluate the subtraction of symbols at assembly time.
+# The d30v target emits sufficiently different debug info, apparently also covering padding it inserts.
+# The riscv targets do not support the subtraction of symbols.
+#xfail: am33*-* cr16-* crx-* d30v-* ft32-* mn10*-* msp430-* nds32*-* riscv*-* rl78-*
+
+Raw dump of debug contents .*
+#...
+ Line Number Statements:
+.*Extended opcode 2: .*
+.*Advance Line by 10017 to 10018
+.*(Copy|Special opcode .* Address by 0 .* and Line by 0 to 10018)
+.*Special opcode .* and Line by 1 to 10019
+.*Special opcode .* and Line by 1 to 10020
+.*Set File Name to entry 2 .*
+.*Advance Line by -10012 to 8
+.*Special opcode .* and Line by 0 to 8
+.*Set File Name to entry 1 .*
+.*Advance Line by 10018 to 10026
+.*(Advance PC by .*|Special opcode .* and Line by 0 to 10026)
+#...
+.*Special opcode .* and Line by 1 to 10027
+.*Special opcode .* and Line by 1 to 10028
+.*Advance PC by .*
+.*Extended opcode 1: End of Sequence
diff --git a/gas/testsuite/gas/elf/dwarf-5-macro.s b/gas/testsuite/gas/elf/dwarf-5-macro.s
new file mode 100644
index 00000000000..23be186f9ca
--- /dev/null
+++ b/gas/testsuite/gas/elf/dwarf-5-macro.s
@@ -0,0 +1,28 @@
+ .macro m1 args:vararg
+ .nop
+ .endm
+
+ .macro m2 args:vararg
+ .file "Line.s"
+ .line 7
+ .nop
+ .endm
+
+ .macro m3 args:vararg
+# 10013 "line.S"
+ .nop
+ .endm
+
+ .text
+macro:
+ m1 1
+ m1 2
+ m1 3
+
+ m2 1
+ m2 2
+ m2 3
+
+ m3 1
+ m3 2
+ m3 3
diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index 07f08a00a28..145814b62be 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -308,6 +308,7 @@ if { [is_elf_format] } then {
run_dump_test "dwarf-5-cu" $dump_opts
run_dump_test "dwarf-5-nop-for-line-table" $dump_opts
run_dump_test "dwarf-5-irp" $dump_opts
+ run_dump_test "dwarf-5-macro" $dump_opts
run_dump_test "dwarf-3-func" $dump_opts
run_dump_test "dwarf-5-func" $dump_opts
run_dump_test "dwarf-5-func-global" $dump_opts
reply other threads:[~2022-12-05 12:53 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20221205125320.EBD6D389A131@sourceware.org \
--to=jbeulich@sourceware.org \
--cc=bfd-cvs@sourceware.org \
/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).