No description
Find a file
Tom Tromey 5bd1ef568c Fix PR symtab/15391
PR symtab/15391 is a failure with the DW_OP_GNU_implicit_pointer
feature.

I tracked it down to a logic error in read_pieced_value.  The code
truncates this_size_bits according to the type size and offset too
early -- it should do it after taking bits_to_skip into account.

This patch fixes the bug.

While testing this, I also tripped across a latent bug because
indirect_pieced_value does not sign-extend where needed.  This patch
fixes this bug as well.

Finally, Pedro pointed out that a previous version implemented sign
extension incorrectly.  This version introduces a new gdb_sign_extend
function for this.  A couple of notes on this function:

* It has the gdb_ prefix to avoid clashes with various libraries that
  felt free to avoid proper namespacing.  There is a "sign_extend"
  function in a Tile GX header, in an SOM-related BFD header (and in
  sh64-tdep.c and as a macro in arm-wince-tdep.c, but those are
  ours...)

* I looked at all the sign extensions in gdb and didn't see ones that
  I felt comfortable converting to use this function; in large part
  because I don't have a good way to test the conversion.

Built and regtested on x86-64 Fedora 18.  New test cases included;
this required a minor addition to the DWARF assembler.  Note that the
DWARF CU made by implptrpiece.exp uses a funny pointer size in order
to show the sign-extension bug on all platforms.

	* dwarf2loc.c (read_pieced_value): Truncate this_size_bits
	after taking bits_to_skip into account.  Sign extend byte_offset.
	* utils.h (gdb_sign_extend): Declare.
	* utils.c (gdb_sign_extend): New function.

	* gdb.dwarf2/implptrpiece.exp: New file.
	* gdb.dwarf2/implptrconst.exp (d): New variable.
	Print d.
	* lib/dwarf2.exp (Dwarf::_location): Handle DW_OP_piece.
2013-06-18 18:11:19 +00:00
bfd daily update 2013-06-18 00:00:04 +00:00
binutils Don't align text/data/bss sections for ELF 2013-05-31 17:27:28 +00:00
config 2013-04-30 Jan-Benedict Glaw <jbglaw@lug-owl.de> 2013-04-30 12:40:42 +00:00
cpu PR binutils/15241 2013-03-08 17:25:12 +00:00
elfcpp elfcpp/ 2013-03-01 22:45:56 +00:00
etc PR other/46202: implement install-strip. 2010-11-20 19:37:58 +00:00
gas * config/tc-arm.c (symbol_preemptible): New function. 2013-06-18 14:41:09 +00:00
gdb Fix PR symtab/15391 2013-06-18 18:11:19 +00:00
gold gold/ 2013-06-14 20:07:18 +00:00
gprof * aarch64.c (aarch64_find_call): Promote to bfd_vma before sign 2013-05-24 00:28:06 +00:00
include 2013-06-17 Catherine Moore <clm@codesourcery.com> 2013-06-17 22:59:10 +00:00
intl merge from gcc 2010-09-27 21:01:18 +00:00
ld ld/testsuite: Enable ifunc tests on AArch64 big-endian. 2013-06-17 09:08:52 +00:00
libdecnumber merge from gcc 2013-03-28 02:00:05 +00:00
libiberty merge from gcc 2013-06-01 01:01:44 +00:00
opcodes 2013-06-17 Catherine Moore <clm@codesourcery.com> 2013-06-17 22:59:10 +00:00
readline readline/ 2013-05-22 09:51:49 +00:00
sim sim: bfin: tweak run-tests for parallel usage 2013-06-17 04:58:56 +00:00
texinfo
.cvsignore
.gitignore Sync the root .gitignore file with GCC's. 2013-01-11 15:17:35 +00:00
ChangeLog * gas/config/tc-avr.c: Change ISA for devices with USB support to 2013-06-01 07:14:44 +00:00
compile
config-ml.in * config-ml.in: Don't handle arc-*-elf*. 2011-03-22 20:01:13 +00:00
config.guess * config.guess: Update from config repo. 2013-04-29 15:13:53 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 21:00:14 +00:00
config.sub * config.guess: Update from config repo. 2013-04-29 15:13:53 +00:00
configure 2013-04-22 Jan-Benedict Glaw <jbglaw@lug-owl.de> 2013-04-22 15:25:09 +00:00
configure.ac 2013-04-22 Jan-Benedict Glaw <jbglaw@lug-owl.de> 2013-04-22 15:25:09 +00:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS 2013-01-07 Jeff Johnston <jjohnstn@redhat.com> 2013-01-07 21:39:26 +00:00
COPYING.NEWLIB 2013-05-06 Sandra Loosemore <sandra@codesourcery.com> 2013-05-06 18:31:56 +00:00
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 PR target/38607 2012-09-14 23:55:22 +00:00
ltgcc.m4
ltmain.sh Backport from Libtool: Fix relink mode to use absolute path if hardcode_minus_L. 2011-01-13 18:52:53 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS: clarify policy with config/ (and other top level files) 2012-05-12 03:10:17 +00:00
Makefile.def 2013-04-22 Jan-Benedict Glaw <jbglaw@lug-owl.de> 2013-04-22 17:11:22 +00:00
Makefile.in 2013-04-22 Jan-Benedict Glaw <jbglaw@lug-owl.de> 2013-04-22 17:11:22 +00:00
Makefile.tpl * Makefile.tpl (BOOT_ADAFLAGS): Remove -gnata. 2013-01-11 11:48:54 +00:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:47:02 +00:00
README
README-maintainer-mode
setup.com
src-release src-release: fix version look up for bfd based projects 2013-03-22 23:16:40 +00:00
symlink-tree
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.