summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS10
-rw-r--r--src/ChangeLog9
-rw-r--r--src/elflint.c2
-rw-r--r--src/readelf.c2
-rw-r--r--src/unaligned.h8
5 files changed, 25 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 8016316f..2ffc19a0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+Version 0.133:
+
+readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)
+
+readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV
+
+libdwfl: bug fixes and optimization in relocation handling
+
+elfcmp: bug fix for non-allocated section handling
+
Version 0.132:
libcpu: Implement x86 and x86-64 disassembler.
diff --git a/src/ChangeLog b/src/ChangeLog
index 71b82b1e..0bba5ca5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2008-02-29 Roland McGrath <roland@redhat.com>
+
+ * readelf.c (print_attributes): Add a cast.
+ * elflint.c (check_attributes): Likewise.
+
+ * unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
+ with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
+ (add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
+
2008-02-03 Ulrich Drepper <drepper@redhat.com>
* i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
diff --git a/src/elflint.c b/src/elflint.c
index 9a1a7179..54aa1114 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -3213,7 +3213,7 @@ section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"),
if (MY_ELFDATA != ehdr->e_ident[EI_DATA])
CONVERT (subsection_len);
- if (p - chunk < subsection_len)
+ if (p - chunk < (ptrdiff_t) subsection_len)
{
ERROR (gettext ("\
section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"),
diff --git a/src/readelf.c b/src/readelf.c
index 0f0773c8..96b5d436 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -2866,7 +2866,7 @@ print_attributes (Ebl *ebl, const GElf_Ehdr *ehdr)
if (MY_ELFDATA != ehdr->e_ident[EI_DATA])
CONVERT (subsection_len);
- if (unlikely (p - sub < subsection_len))
+ if (unlikely (p - sub < (ptrdiff_t) subsection_len))
break;
const unsigned char *r = q + sizeof subsection_len;
diff --git a/src/unaligned.h b/src/unaligned.h
index bf1e5299..ad7c55a5 100644
--- a/src/unaligned.h
+++ b/src/unaligned.h
@@ -1,5 +1,5 @@
/* Unaligned memory access functionality.
- Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2008 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -89,19 +89,19 @@ union u_8ubyte_unaligned
#else
# define add_2ubyte_unaligned(ptr, value) \
do { \
- union u_2ubyte_unaligned *_ptr = (ptr); \
+ union u_2ubyte_unaligned *_ptr = (void *) (ptr); \
uint16_t _val = bswap_16 (_ptr->u) + (value); \
_ptr->u = bswap_16 (_val); \
} while (0)
# define add_4ubyte_unaligned(ptr, value) \
do { \
- union u_4ubyte_unaligned *_ptr = (ptr); \
+ union u_4ubyte_unaligned *_ptr = (void *) (ptr); \
uint32_t _val = bswap_32 (_ptr->u) + (value); \
_ptr->u = bswap_32 (_val); \
} while (0)
# define add_8ubyte_unaligned(ptr, value) \
do { \
- union u_8ubyte_unaligned *_ptr = (ptr); \
+ union u_8ubyte_unaligned *_ptr = (void *) (ptr); \
uint64_t _val = bswap_64 (_ptr->u) + (value); \
_ptr->u = bswap_64 (_val); \
} while (0)