aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-07-20 14:08:32 +0000
committerAlan Modra <amodra@gmail.com>2010-07-20 14:08:32 +0000
commitf4638467331c33e2f9dd00c12c175a9eb47351c8 (patch)
tree98a865621bcd4a31314c5de6d5e7780feff3d365 /binutils
parentad34eb2f7c3120f83d22cf2d5371673fc95040b4 (diff)
downloadfsf-binutils-gdb-f4638467331c33e2f9dd00c12c175a9eb47351c8.zip
fsf-binutils-gdb-f4638467331c33e2f9dd00c12c175a9eb47351c8.tar.gz
fsf-binutils-gdb-f4638467331c33e2f9dd00c12c175a9eb47351c8.tar.bz2
include/elf/
* internal.h (ELF_TBSS_SPECIAL): New macro, extracted from.. (ELF_SECTION_SIZE): ..here. (ELF_SECTION_IN_SEGMENT_1): Add "strict" arg. (ELF_SECTION_IN_SEGMENT_STRICT): New macro. bfd/ * elf.c (assign_file_positions_for_load_sections): Check that zero size sections are allocated in segments too. (assign_file_positions_for_non_load_sections): Warn if zero size alloc sections are found here. (copy_elf_program_header): Don't drop zero size sections from segment map. (copy_private_bfd_data): Check for changes in zero size sections. binutils/ * readelf.c (process_program_headers): Don't ignore all zero size sections. ld/testsuite/ * ld-powerpc/tlsexe.r: Update. * ld-powerpc/tlsexetoc.r: Update. * ld-powerpc/tlsso.r: Update. * ld-powerpc/tlstocso.r: Update.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/readelf.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 18c06c5..8e3ecb6 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-20 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (process_program_headers): Don't ignore all zero size
+ sections.
+
2010-07-19 Andreas Schwab <schwab@redhat.com>
* readelf.c (process_section_headers): Update key to flags.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 883c482..447932c 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -3889,8 +3889,8 @@ process_program_headers (FILE * file)
for (j = 1; j < elf_header.e_shnum; j++, section++)
{
- if (ELF_SECTION_SIZE (section, segment) != 0
- && ELF_SECTION_IN_SEGMENT (section, segment))
+ if (!ELF_TBSS_SPECIAL (section, segment)
+ && ELF_SECTION_IN_SEGMENT_STRICT (section, segment))
printf ("%s ", SECTION_NAME (section));
}