Default to generating a fatal error message if a loadable section is not
allocated to a memory region when regions are defined.
This commit is contained in:
parent
4648dfcf5b
commit
661849791b
2 changed files with 26 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2003-05-02 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* ldlang.c (lang_size_sections_1): Default to generating a
|
||||||
|
fatal error message if a loadable section is not allocated
|
||||||
|
to a memory region when regions are defined.
|
||||||
|
|
||||||
2003-05-09 Alan Modra <amodra@bigpond.net.au>
|
2003-05-09 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* Makefile.am (em68hc11elf.c): Correct dependencies.
|
* Makefile.am (em68hc11elf.c): Correct dependencies.
|
||||||
|
|
24
ld/ldlang.c
24
ld/ldlang.c
|
@ -3050,7 +3050,7 @@ lang_size_sections_1 (s, output_section_statement, prev, fill, dot, relax,
|
||||||
|
|
||||||
/* If a loadable section is using the default memory
|
/* If a loadable section is using the default memory
|
||||||
region, and some non default memory regions were
|
region, and some non default memory regions were
|
||||||
defined, issue a warning. */
|
defined, issue an error message. */
|
||||||
if ((bfd_get_section_flags (output_bfd, os->bfd_section)
|
if ((bfd_get_section_flags (output_bfd, os->bfd_section)
|
||||||
& (SEC_ALLOC | SEC_LOAD)) != 0
|
& (SEC_ALLOC | SEC_LOAD)) != 0
|
||||||
&& (bfd_get_section_flags (output_bfd, os->bfd_section)
|
&& (bfd_get_section_flags (output_bfd, os->bfd_section)
|
||||||
|
@ -3062,9 +3062,25 @@ lang_size_sections_1 (s, output_section_statement, prev, fill, dot, relax,
|
||||||
&& (strcmp (lang_memory_region_list->name,
|
&& (strcmp (lang_memory_region_list->name,
|
||||||
"*default*") != 0
|
"*default*") != 0
|
||||||
|| lang_memory_region_list->next != NULL))
|
|| lang_memory_region_list->next != NULL))
|
||||||
einfo (_("%P: warning: no memory region specified for section `%s'\n"),
|
{
|
||||||
bfd_get_section_name (output_bfd,
|
/* By default this is an error rather than just a
|
||||||
os->bfd_section));
|
warning because if we allocate the section to the
|
||||||
|
default memory region we can end up creating an
|
||||||
|
excessivly large binary, or even seg faulting when
|
||||||
|
attmepting to perform a negative seek. See
|
||||||
|
http://sources.redhat.com/ml/binutils/2003-04/msg00423.html
|
||||||
|
for an example of this. This behaviour can be
|
||||||
|
overridden by the using the --no-check-sections
|
||||||
|
switch. */
|
||||||
|
if (command_line.check_section_addresses)
|
||||||
|
einfo (_("%P%F: error: no memory region specified for loadable section `%s'\n"),
|
||||||
|
bfd_get_section_name (output_bfd,
|
||||||
|
os->bfd_section));
|
||||||
|
else
|
||||||
|
einfo (_("%P: warning: no memory region specified for loadable section `%s'\n"),
|
||||||
|
bfd_get_section_name (output_bfd,
|
||||||
|
os->bfd_section));
|
||||||
|
}
|
||||||
|
|
||||||
dot = os->region->current;
|
dot = os->region->current;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue