This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. 646da0594c91719ef591d8736865a1d58fbbfc34
- From: qiyao at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 14 Nov 2014 00:56:09 -0000
- Subject: gdb and binutils branch master updated. 646da0594c91719ef591d8736865a1d58fbbfc34
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 646da0594c91719ef591d8736865a1d58fbbfc34 (commit)
via 9301ebe667e05c378d7f09ac991a925eb2a95617 (commit)
via f166b542723928ab8ecd5cd1788e6c1161bf3315 (commit)
via 0f6e71e32ffee942879c37cbab162f9dcee7e683 (commit)
via 876c4df94765ce9409e867ff035ab2203c9f4a3b (commit)
via 02ad9cf101803a29d15ea81bb1fdab8a2e82f34f (commit)
from a8719064e81f8330d3b3e5e504653e19c4131864 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=646da0594c91719ef591d8736865a1d58fbbfc34
commit 646da0594c91719ef591d8736865a1d58fbbfc34
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Nov 14 08:53:09 2014 +0800
Fix dw2-ifort-parameter.exp fail with clang
The patch <https://sourceware.org/ml/gdb-patches/2014-03/msg00202.html>
fixed dw2-ifort-parameter.exp on powerpc64 by adding some labels to
get the start and end address of function func. This should also fix the
fail on thumb mode, however, this style is quite specific to gcc, and
other compiler, such as clang, may not guarantee the order of global
asms and functions. The test fails with clang:
$ make check RUNTESTFLAGS='dw2-ifort-parameter.exp CC_FOR_TARGET=clang'
(gdb) p/x param^M
No symbol "param" in current context.^M
(gdb) FAIL: gdb.dwarf2/dw2-ifort-parameter.exp: p/x param
With this patch applied, dw2-ifort-parameter.exp still passes for gcc
on arm thumb mode and popwerpc64, and it also passes for clang on
x86_linux.
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dw2-ifort-parameter.c: Remove inline asm.
(func): Add label func_label.
* gdb.dwarf2/dw2-ifort-parameter.exp (Dwarf::assemble):
Replace low_pc and high_pc with MACRO_AT_range.
Replace name, low_pc and high_pc with MACRO_AT_func.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9301ebe667e05c378d7f09ac991a925eb2a95617
commit 9301ebe667e05c378d7f09ac991a925eb2a95617
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Nov 14 08:53:08 2014 +0800
Fix implptr-optimized-out.exp fail
Hi,
I see the fail in gdb.dwarf2/implptr-optimized-out.exp in thumb mode
(gdb) p p->f^M
No symbol "p" in current context.^M
(gdb) FAIL: gdb.dwarf2/implptr-optimized-out.exp: p p->f
and the crash on powerpc64
(gdb) continue^M
Continuing.^M
^M
Program received signal SIGSEGV, Segmentation fault.^M
0x7d82100810000828 in ?? ()
The cause of both is that we incorrectly set attribute low_pc, since
main isn't resolved to function start address on these targets.
In this patch, we replace attributes name, low_pc and high_pc with
MACRO_AT_func. The fail on thumb mode is fixed, and crash on
powerpc64 is fixed too.
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
Replace name, low_pc and high_pc with MACRO_AT_func.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f166b542723928ab8ecd5cd1788e6c1161bf3315
commit f166b542723928ab8ecd5cd1788e6c1161bf3315
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Nov 14 08:53:08 2014 +0800
Use Dwarf::assemble in implptr-optimized-out.exp
This patch is to use dwarf::assemble to generate debug information, and
remove implptr-optimized-out.S as a result.
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/implptr-optimized-out.exp: Use Dwarf::assemble to
produce debug information.
* gdb.dwarf2/implptr-optimized-out.S: Removed.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0f6e71e32ffee942879c37cbab162f9dcee7e683
commit 0f6e71e32ffee942879c37cbab162f9dcee7e683
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Nov 14 08:53:08 2014 +0800
Get start and end address of main in dwz.exp
On arm-none-eabi target thumb mode, I see the following fail,
p the_int^M
$2 = 99^M
(gdb) FAIL: gdb.dwarf2/dwz.exp: p the_int
and on powerpc64 target, we even can't get function main from object
file,
disassemble main^M
No function contains specified address.^M
(gdb) FAIL: gdb.dwarf2/dwz.exp: disassemble main
This patch is to use MACRO_AT_func attribute to get the main's start
address and end address correctly, and also remove some code dwz.exp
getting main's length. This patch fixes fails on both thumb mode and
powerpc64 target.
PASS: gdb.dwarf2/dwz.exp: p other_int
PASS: gdb.dwarf2/dwz.exp: p the_int
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dwz.exp: Remove the code to compile main.c to
object and get function length.
(Dwarf::assemble): Replace name, low_pc and high_pc attributes
with MACRO_AT_func.
(top-level): Replace gdb_compile and clean_restart with
prepare_for_testing.
* gdb.dwarf2/main.c (main): Add label main_label.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=876c4df94765ce9409e867ff035ab2203c9f4a3b
commit 876c4df94765ce9409e867ff035ab2203c9f4a3b
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Nov 14 08:53:08 2014 +0800
DW attribute macro MACRO_AT_func and MACRO_AT_range
This patch addes DW macro attributes MACRO_AT_func and MACRO_AT_range
in dwarf assembler, which emits "DW_AT_low_pc func_start addr" and
"DW_AT_high_pc func_end addr". func_start and func_end are computed
automatically by proc function_range.
These two attributes are pseudo attribute or macro attribute, which
means they are not standard dwarf attribute in dwarf spec. Then can
be substituted or expanded to standard attributes or macro attributes.
See details in the comments to them. Dwarf assembler is extended to
handle them.
Now the attributes name/low_pc/high_pc can be replaced with
MACRO_AT_func like this:
subprogram {
{name main}
{low_pc main_start addr}
{high_pc main_end addr}
}
becomes:
subprogram {
{MACRO_AT_func { main ${srcdir}/${subdir}/${srcfile} }}
}
users don't have to worry about the start and end of function main, and
they only need to add a label main_label in main.
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* lib/dwarf.exp (function_range): New procedure.
(Dwarf::_handle_macro_at_func): New procedure.
(Dwarf::_handle_macro_at_range): New procedure.
(Dwarf): Handle MACRO_AT_func and MACRO_AT_range.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=02ad9cf101803a29d15ea81bb1fdab8a2e82f34f
commit 02ad9cf101803a29d15ea81bb1fdab8a2e82f34f
Author: Yao Qi <yao@codesourcery.com>
Date: Fri Nov 14 08:53:08 2014 +0800
New proc _handle_attribute
This patch is to move some code to a new procedure _handle_attribute,
which will be used in my following patches.
gdb/testsuite:
2014-11-14 Yao Qi <yao@codesourcery.com>
* lib/dwarf.exp (_handle_DW_TAG): Move some code to ...
(_handle_attribute): New procedure.
-----------------------------------------------------------------------
Summary of changes:
gdb/testsuite/ChangeLog | 41 +++++
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c | 7 +-
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp | 8 +-
gdb/testsuite/gdb.dwarf2/dwz.exp | 60 +-------
gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S | 166 --------------------
gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 63 +++++++-
gdb/testsuite/gdb.dwarf2/main.c | 1 +
gdb/testsuite/lib/dwarf.exp | 145 ++++++++++++++++--
8 files changed, 244 insertions(+), 247 deletions(-)
delete mode 100644 gdb/testsuite/gdb.dwarf2/implptr-optimized-out.S
hooks/post-receive
--
gdb and binutils