diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.h | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 44c9b6f..d131eee 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Mon Aug 10 15:31:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * elflink.h (elf_gc_common_finalize_got_offsets): For backends + that use a .got.plt section start the got offset at zero. + Mon Aug 10 17:31:21 1998 Ian Lance Taylor <ian@cygnus.com> * ieee.c (ieee_write_processor): Correct the processor ID written diff --git a/bfd/elflink.h b/bfd/elflink.h index 65b828c..67493cb 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -5803,7 +5803,15 @@ elf_gc_common_finalize_got_offsets (abfd, info) struct bfd_link_info *info; { bfd *i; - bfd_vma gotoff = get_elf_backend_data (abfd)->got_header_size; + struct elf_backend_data *bed = get_elf_backend_data (abfd); + bfd_vma gotoff; + + /* The GOT offset is relative to the .got section, but the GOT header is + put into the .got.plt section, if the backend uses it. */ + if (bed->want_got_plt) + gotoff = 0; + else + gotoff = bed->got_header_size; /* Do the local .got entries first. */ for (i = info->input_bfds; i; i = i->link_next) |