+2004-09-12 Alan Modra <amodra@bigpond.net.au>
+
+ * readelf.c (decode_location_expression): Sign extend value for
+ DW_OP_const1s, DW_OP_const2s, DW_OP_const4s, DW_OP_bra, DW_OP_skip.
+
2004-09-09 Nick Clifton <nickc@redhat.com>
PR 363
2004-09-06 Danny Smith <dannysmith@users.sourceforge.net>
- * doc/binutils.texi (dlltool): Update --add-underscore, --kill-at
- documentation.
+ * doc/binutils.texi (dlltool): Update --add-underscore, --kill-at
+ documentation.
2004-09-06 Michael Wardle <mbw@endbracket.net>
* dlltool.c (make_one_lib_file): Test if internal_name was
specified by user before using it.
-2004-09-02 Carlo Wood <carlo@alinoe.com>
+2004-09-02 Carlo Wood <carlo@alinoe.com>
PR binutils/351
* dlltool.c (make_one_lib_file): For IDATA6 take the name from
/* readelf.c -- display contents of an ELF format file
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
Originally developed by Eric Youngdale <eric@andante.jic.com>
Modifications by Nick Clifton <nickc@redhat.com>
\f
/* The difference between readelf and objdump:
- Both programs are capabale of displaying the contents of ELF format files,
+ Both programs are capable of displaying the contents of ELF format files,
so why does the binutils project have two file dumpers ?
The reason is that objdump sees an ELF file through a BFD filter of the
printf ("DW_OP_const1u: %lu", (unsigned long) byte_get (data++, 1));
break;
case DW_OP_const1s:
- printf ("DW_OP_const1s: %ld", (long) byte_get (data++, 1));
+ printf ("DW_OP_const1s: %ld", (long) byte_get_signed (data++, 1));
break;
case DW_OP_const2u:
printf ("DW_OP_const2u: %lu", (unsigned long) byte_get (data, 2));
data += 2;
break;
case DW_OP_const2s:
- printf ("DW_OP_const2s: %ld", (long) byte_get (data, 2));
+ printf ("DW_OP_const2s: %ld", (long) byte_get_signed (data, 2));
data += 2;
break;
case DW_OP_const4u:
data += 4;
break;
case DW_OP_const4s:
- printf ("DW_OP_const4s: %ld", (long) byte_get (data, 4));
+ printf ("DW_OP_const4s: %ld", (long) byte_get_signed (data, 4));
data += 4;
break;
case DW_OP_const8u:
printf ("DW_OP_xor");
break;
case DW_OP_bra:
- printf ("DW_OP_bra: %ld", (long) byte_get (data, 2));
+ printf ("DW_OP_bra: %ld", (long) byte_get_signed (data, 2));
data += 2;
break;
case DW_OP_eq:
printf ("DW_OP_ne");
break;
case DW_OP_skip:
- printf ("DW_OP_skip: %ld", (long) byte_get (data, 2));
+ printf ("DW_OP_skip: %ld", (long) byte_get_signed (data, 2));
data += 2;
break;