summaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2010-07-20 14:08:30 +0000
committerAlan Modra <amodra@bigpond.net.au>2010-07-20 14:08:30 +0000
commitfe58de404e6f2d451880714526c8ca3b8d733187 (patch)
tree7064ee4f95f9bc79cd1b4d372c61db664ff36aa3 /binutils
parentadef4ddae699cc53cc25c9943e4d970ed2a5cf29 (diff)
downloadbinutils-redhat-fe58de404e6f2d451880714526c8ca3b8d733187.tar.gz
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 18c06c5475..8e3ecb63a8 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 883c48221e..447932c376 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));
}