diff options
author | Alan Modra <amodra@gmail.com> | 2001-10-31 01:12:26 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-10-31 01:12:26 +0000 |
commit | 6e814ff88112f40fe06e09ef984caaf59b48884f (patch) | |
tree | b568dbd4bd51c6465158207d7b6d67d155122e09 /ld | |
parent | 2d98304df3e9672b9386b4a6e7edd324973da61c (diff) | |
download | gdb-6e814ff88112f40fe06e09ef984caaf59b48884f.zip gdb-6e814ff88112f40fe06e09ef984caaf59b48884f.tar.gz gdb-6e814ff88112f40fe06e09ef984caaf59b48884f.tar.bz2 |
* ldlang.c (lang_size_sections): Keep a valid output_offset field
for padding statements.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/ldlang.c | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 4fe4a54..e1dc132 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2001-10-31 David Heine <dlheine@tensilica.com> + + * ldlang.c (lang_size_sections): Keep a valid output_offset field + for padding statements. + 2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> * configure.tgt (mmix-*-*): New target. @@ -8,7 +13,7 @@ scripttempl/mmo.sc: New files. * gen-doc.texi: @set MMIX. * ld.texinfo: Ditto. - [MMIX] Add MMIX node. + [MMIX] Add MMIX node. * Makefile.in: Regenerate. 2001-10-29 Kazu Hirata <kazu@hxi.com> @@ -48,7 +53,7 @@ * pe-dll.c (autofilter_objectlist): Add startup objects for profiling. (auto-export): Constify char * p. - Extract file basename and use strcmp rather than ststr + Extract file basename and use strcmp rather than ststr for object lookup. 2001-10-18 Chris Demetriou <cgd@broadcom.com> diff --git a/ld/ldlang.c b/ld/ldlang.c index 014c791..40f109a 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -3156,6 +3156,14 @@ lang_size_sections (s, output_section_statement, prev, fill, dot, relax) padding to shrink. If padding is needed on this pass, it will be added back in. */ s->padding_statement.size = 0; + + /* Make sure output_offset is valid. If relaxation shrinks + the section and this pad isn't needed, it's possible to + have output_offset larger than the final size of the + section. bfd_set_section_contents will complain even for + a pad size of zero. */ + s->padding_statement.output_offset + = dot - output_section_statement->bfd_section->vma; break; case lang_group_statement_enum: |