* elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
authorAlan Modra <amodra@gmail.com>
Sat, 8 Feb 2003 01:10:30 +0000 (01:10 +0000)
committerAlan Modra <amodra@gmail.com>
Sat, 8 Feb 2003 01:10:30 +0000 (01:10 +0000)
stubs if !stubs_always_before_branch.

bfd/ChangeLog
bfd/elf32-hppa.c

index 85bffb4..02cebf4 100644 (file)
@@ -1,3 +1,8 @@
+2003-02-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
+       stubs if !stubs_always_before_branch.
+
 2003-02-07  Nick Clifton  <nickc@redhat.com>
 
        * elf.c (swap_out_syms): Generate an error message if an
@@ -8,7 +13,6 @@
        * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
        local_got_entries is NULL.
 
-
 2003-02-06  Andreas Schwab  <schwab@suse.de>
 
        * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
        * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
        TPREL also get a reloc if shared.  Remove SREL support.
        (elf64_alpha_emit_dynrel): New.
-       (elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL 
+       (elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL
        and GOTTPREL relocs to local symbols against the tp base.
        (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
 
 2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
 
        * coffcode.h (coff_set_flags): Added get/set arch hooks.
-       
+
 2003-01-20  Fabio Alemagna  <falemagn@aros.org>
 
        * elf32-sh.c: Treat elfNN_bed like other macros defined in
          elfxx-target.h and #undef it before #define'ing it.
        * elf32-i386.c: Likewise.
-        * elf32-sh64.c: Likewise.
-        * elf64-alpha.c: Likewise.
-        * elf64-sh64.c: Likewise.
+       * elf32-sh64.c: Likewise.
+       * elf64-alpha.c: Likewise.
+       * elf64-sh64.c: Likewise.
 
 2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
        (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
        * Makefile.in: Regenerate.
-       
+
 2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
 
        * elfn32-mips.c (prev_reloc_section): New.
        (bfd_archures_list): Add bfd_iq2000_arch.
        * configure.in: Handle bfd_elf32_iq2000_vec.
        * configure: Regenerate.
-       * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21, 
+       * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
        and BFD_RELOC_IQ2000_UHI16.
        * targets.c (bfd_elf32_iq2000_vec): Declare.
        (bfd_target_vector): Add bfd_elf32_iq2000_vec.
        * archures.c (bfd_arch_get_compatible): Add third parameter
        'accept_unknowns'.  Only accept unknown format BFDs if
        accept_unknowns is true, or if the format is "binary".
-        * bfd-in2.h: Regenerate.
+       * bfd-in2.h: Regenerate.
 
 2002-12-21  Nick Clifton  <nickc@redhat.com>
 
        * bfd-in2.h: Regenerate.
        * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
        (xstormy16_reloc_map): Add R_XSTORMY16_12.
-       
+
 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
 
        * doc/bfdint.texi: Fix typos.
index 2646f3d..69ead0d 100644 (file)
@@ -1,6 +1,6 @@
 /* BFD back-end for HP PA-RISC ELF files.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001,
-   2002 Free Software Foundation, Inc.
+   2002, 2003 Free Software Foundation, Inc.
 
    Original code by
        Center for Software Science
@@ -2901,11 +2901,22 @@ elf32_hppa_size_stubs (output_bfd, stub_bfd, info, multi_subspace, group_size,
   if (stub_group_size == 1)
     {
       /* Default values.  */
-      stub_group_size = 7680000;
-      if (htab->has_17bit_branch || htab->multi_subspace)
-       stub_group_size = 240000;
-      if (htab->has_12bit_branch)
-       stub_group_size = 7500;
+      if (stubs_always_before_branch)
+       {
+         stub_group_size = 7680000;
+         if (htab->has_17bit_branch || htab->multi_subspace)
+           stub_group_size = 240000;
+         if (htab->has_12bit_branch)
+           stub_group_size = 7500;
+       }
+      else
+       {
+         stub_group_size = 6971392;
+         if (htab->has_17bit_branch || htab->multi_subspace)
+           stub_group_size = 217856;
+         if (htab->has_12bit_branch)
+           stub_group_size = 6808;
+       }
     }
 
   group_sections (htab, stub_group_size, stubs_always_before_branch);