From b9cf773d1a267941d84772b54847c931f11bdec5 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 22 Mar 2004 22:58:04 +0000 Subject: include/ PR 51. * bfdlink.h (struct bfd_link_info): Add wrap_char. bfd/ PR 51. * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char. ld/ PR 51. * emultempl/ppc64elf.em (ppc_create_output_section_statements): Set link_info.wrap_char. --- bfd/ChangeLog | 7 ++++++- bfd/linker.c | 18 ++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 595dd3f..18964a7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-03-23 Alan Modra + + PR 51. + * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char. + 2004-03-22 Hans-Peter Nilsson * elf32-cris.c (cris_elf_relocate_section) wrap_hash != NULL) { const char *l; + char prefix = '\0'; l = string; - if (*l == bfd_get_symbol_leading_char (abfd)) - ++l; + if (*l == bfd_get_symbol_leading_char (abfd) || *l == info->wrap_char) + { + prefix = *l; + ++l; + } #undef WRAP #define WRAP "__wrap_" @@ -544,8 +548,7 @@ bfd_wrapped_link_hash_lookup (bfd *abfd, if (n == NULL) return NULL; - /* Note that symbol_leading_char may be '\0'. */ - n[0] = bfd_get_symbol_leading_char (abfd); + n[0] = prefix; n[1] = '\0'; strcat (n, WRAP); strcat (n, l); @@ -576,8 +579,7 @@ bfd_wrapped_link_hash_lookup (bfd *abfd, if (n == NULL) return NULL; - /* Note that symbol_leading_char may be '\0'. */ - n[0] = bfd_get_symbol_leading_char (abfd); + n[0] = prefix; n[1] = '\0'; strcat (n, l + sizeof REAL - 1); h = bfd_link_hash_lookup (info->hash, n, create, TRUE, follow); -- cgit v1.1