diff options
author | Alan Modra <amodra@bigpond.net.au> | 2010-07-20 14:08:30 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2010-07-20 14:08:30 +0000 |
commit | fe58de404e6f2d451880714526c8ca3b8d733187 (patch) | |
tree | 7064ee4f95f9bc79cd1b4d372c61db664ff36aa3 /binutils | |
parent | adef4ddae699cc53cc25c9943e4d970ed2a5cf29 (diff) | |
download | binutils-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/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 4 |
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)); } |