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.
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);