* ldlang.c (lang_size_sections_1): Correct backwards dot move
test to not trigger on overlays. Only warn on backwards move if non-default lma.
This commit is contained in:
parent
cb9f45d79f
commit
91eb6c46de
2 changed files with 17 additions and 9 deletions
10
ld/ChangeLog
10
ld/ChangeLog
|
@ -1,3 +1,9 @@
|
|||
2007-03-08 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* ldlang.c (lang_size_sections_1): Correct backwards dot move
|
||||
test to not trigger on overlays. Only warn on backwards move
|
||||
if non-default lma.
|
||||
|
||||
2007-03-07 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of
|
||||
|
@ -176,7 +182,7 @@
|
|||
|
||||
* pe-dll.c: (make_one) Conditionally include jump stubs.
|
||||
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Identify
|
||||
redundant jump stubs from import libraries and exclude them from
|
||||
redundant jump stubs from import libraries and exclude them from
|
||||
link.
|
||||
|
||||
2007-01-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
@ -189,7 +195,7 @@
|
|||
symbolic_unset and command_line.dynamic_list to
|
||||
dynamic_list_unset. Check -Bsymbolic, -Bsymbolic-functions and
|
||||
--dynamic-list* before setting link_info.symbolic,
|
||||
link_info.dynamic and link_info.dynamic_data.
|
||||
link_info.dynamic and link_info.dynamic_data.
|
||||
|
||||
* lexsup.c (option_values): Add OPTION_SYMBOLIC_FUNCTIONS.
|
||||
(ld_options): Use OPTION_SYMBOLIC_FUNCTIONS with
|
||||
|
|
16
ld/ldlang.c
16
ld/ldlang.c
|
@ -4411,19 +4411,21 @@ lang_size_sections_1
|
|||
|
||||
/* A backwards move of dot should be accompanied by
|
||||
an explicit assignment to the section LMA (ie.
|
||||
os->load_base set) because backwards moves normally
|
||||
os->load_base set) because backwards moves can
|
||||
create overlapping LMAs. */
|
||||
if (dot < last->vma
|
||||
&& os->bfd_section->size != 0)
|
||||
&& os->bfd_section->size != 0
|
||||
&& dot + os->bfd_section->size <= last->vma)
|
||||
{
|
||||
einfo (_("%P: warning: dot moved backwards before `%s'\n"),
|
||||
os->name);
|
||||
|
||||
/* If dot moved backwards then leave lma equal to
|
||||
vma. This is the old default lma, which might
|
||||
just happen to work when the backwards move is
|
||||
sufficiently large. Nag anyway, so people fix
|
||||
their linker scripts. */
|
||||
sufficiently large. Nag if this changes anything,
|
||||
so people can fix their linker scripts. */
|
||||
|
||||
if (last->vma != last->lma)
|
||||
einfo (_("%P: warning: dot moved backwards before `%s'\n"),
|
||||
os->name);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue