This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: new .loc_mark_blocks directive
- From: Andreas Schwab <schwab at suse dot de>
- To: Richard Henderson <rth at redhat dot com>
- Cc: binutils at sources dot redhat dot com, Roland McGrath <roland at redhat dot com>
- Date: Tue, 29 Nov 2005 00:42:38 +0100
- Subject: Re: new .loc_mark_blocks directive
- References: <20050920182258.GA13963@redhat.com>
Richard Henderson <rth@redhat.com> writes:
> Adds a directive that puts the assembler in a mode in which it
> adds a line number entry with the basic_block flag whenever a
> label is seen in a code section.
This breaks the ia64 assembler and miscompiles the Linux kernel.
$ cat xdata.s
.section ".data.patch.vtop", "a"
.previous
.text
.align 16
nop 0
[1:] movl r2 = 1f
.xdata4 ".data.patch.vtop", 1b-.
1: nop 0
$ as.bad -o a.out.bad xdata.s; objdump -r a.out.bad > a.out.bad.dump
$ as.good -o a.out.good xdata.s; objdump -r a.out.good > a.out.good.dump
$ diff -u a.out.*.dump
--- a.out.bad.dump 2005-11-29 00:04:23.000000000 +0100
+++ a.out.good.dump 2005-11-29 00:04:30.000000000 +0100
@@ -1,5 +1,5 @@
-a.out.bad: file format elf64-ia64-little
+a.out.good: file format elf64-ia64-little
RELOCATION RECORDS FOR [.text]:
OFFSET TYPE VALUE
@@ -8,6 +8,6 @@
RELOCATION RECORDS FOR [.data.patch.vtop]:
OFFSET TYPE VALUE
-0000000000000000 PCREL32LSB .text+0x0000000000000001
+0000000000000000 PCREL32LSB .text+0x0000000000000002
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."