[binutils-gdb] bfd/ELF/PPC: make ppc_build_one_stub()'s stub_str[] static

Jan Beulich jbeulich@sourceware.org
Fri Aug 15 10:22:52 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b011ae9fef4192a2b8c108eeb80c9cf20e8746d5

commit b011ae9fef4192a2b8c108eeb80c9cf20e8746d5
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 15 12:21:24 2025 +0200

    bfd/ELF/PPC: make ppc_build_one_stub()'s stub_str[] static
    
    There's no reason to have the compiler materialize objects onto the
    stack.
    
    In fact we can save some space and a level of indirection (and hence
    relocation entries in the final binary) by converting to an array of
    char[12] or larger. Pick char[16] for easier / faster calculations.

Diff:
---
 bfd/elf64-ppc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 78680630c6e..2cacc9e27a2 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -12226,9 +12226,9 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
       struct elf_link_hash_entry *h;
       size_t len1, len2;
       char *name;
-      const char *const stub_str[] = { "long_branch",
-				       "plt_branch",
-				       "plt_call" };
+      static const char stub_str[][16] = { "long_branch",
+					   "plt_branch",
+					   "plt_call" };
 
       len1 = strlen (stub_str[stub_entry->type.main - 1]);
       len2 = strlen (stub_entry->root.string);


More information about the Binutils-cvs mailing list