* xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
This commit is contained in:
parent
d4d3c7adbb
commit
f97fca7872
@ -12,6 +12,8 @@ Wed Apr 17 12:08:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
Wed Apr 17 13:07:37 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
|
||||
|
||||
* linker.c (_bfd_generic_link_add_one_symbol): When calling the
|
||||
callback routines, pass h->root.string rather than name, in case
|
||||
copy is true and name is transient.
|
||||
|
@ -3989,11 +3989,20 @@ xcoff_link_input_bfd (finfo, input_bfd)
|
||||
of the TOC using a 16 bit offset from tocval. This
|
||||
test assumes that the TOC comes at the end of the
|
||||
output section, as it does in the default linker
|
||||
script. If the TOC anchor is too far into the .toc
|
||||
section, the relocation routine will report
|
||||
overflows. */
|
||||
script. */
|
||||
|
||||
tocend = ((*csectpp)->output_section->vma
|
||||
+ (*csectpp)->output_section->_raw_size);
|
||||
|
||||
if (tocval + 0x10000 < tocend)
|
||||
{
|
||||
(*_bfd_error_handler)
|
||||
("TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling",
|
||||
(unsigned long) (tocend - tocval));
|
||||
bfd_set_error (bfd_error_file_too_big);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (tocval + 0x8000 < tocend)
|
||||
{
|
||||
bfd_vma tocadd;
|
||||
|
Loading…
x
Reference in New Issue
Block a user