This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [Patch, AArch64, ILP32] 5/5 Improve the debugging experience with the generated file
- From: David Daney <ddaney dot cavm at gmail dot com>
- To: Yufeng Zhang <Yufeng dot Zhang at arm dot com>
- Cc: binutils at sourceware dot org, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Fri, 21 Jun 2013 11:52:00 -0700
- Subject: Re: [Patch, AArch64, ILP32] 5/5 Improve the debugging experience with the generated file
- References: <51C4919B dot 1010407 at arm dot com> <51C49686 dot 9030106 at arm dot com>
On 06/21/2013 11:08 AM, Yufeng Zhang wrote:
Hi,
This patch adds a #line directive at the beginning of the generated file
(elf32-aarch64.c and elf64-aarch64.c) so that the generated debug
information points to the template file instead.
OK for the trunk?
Thanks,
Yufeng
bfd/
* Makefile.am (elf32-aarch64.c): Add a #line cpp directive at the
beginning of the generated file.
(elf64-aarch64.c): Likewise.
* Makefile.in: Re-generated.
05-gen-hash-line-directive.patch
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 19b3710..0e69d12 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -917,12 +917,14 @@ elf64-target.h : elfxx-target.h
elf32-aarch64.c : elfnn-aarch64.c
rm -f elf32-aarch64.c
- sed -e s/NN/32/g < $(srcdir)/elfnn-aarch64.c > elf32-aarch64.new
+ echo "#line 1 \"$(srcdir)/elfnn-aarch64.c\"" > elf32-aarch64.new
+ sed -e s/NN/32/g < $(srcdir)/elfnn-aarch64.c >> elf32-aarch64.new
mv -f elf32-aarch64.new elf32-aarch64.c
elf64-aarch64.c : elfnn-aarch64.c
rm -f elf64-aarch64.c
- sed -e s/NN/64/g < $(srcdir)/elfnn-aarch64.c > elf64-aarch64.new
+ echo "#line 1 \"$(srcdir)/elfnn-aarch64.c\"" > elf64-aarch64.new
+ sed -e s/NN/64/g < $(srcdir)/elfnn-aarch64.c >> elf64-aarch64.new
mv -f elf64-aarch64.new elf64-aarch64.c
elf32-ia64.c : elfnn-ia64.c
I really hate this pattern of running the file through sed and
synthesizing the #line.
I know this was built up out of several of the other patches, but I am
commenting on it here.
Can you instead move the duplicated code to a file to be included
twice, parameterizing it with one or more preprocessor macros?
I.E.:
.
.
.
#define AARCH64_ABI 32
#include "elfnn-arch64.c"
#undef AARCH64_ABI
#define AARCH64_ABI 64
#include "elfnn-arch64.c"
.
.
.
Thanks,
David Daney