From fac1652d6be8f3a3292d250464d02053630b93f4 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 22 May 2002 09:04:48 +0000 Subject: * ldemul.c (ldemul_new_vers_pattern): New function. * ldemul.h (ldemul_new_vers_pattern): Declare. (struct ld_emulation_xfer_struct): Add new_vers_pattern. * ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern. * emultempl/ppc64elf.em (dotsyms): New static var. (gld${EMULATION_NAME}_new_vers_pattern): New function. (LDEMUL_NEW_VERS_PATTERN): Define. (PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Handle them. * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update initialiser. * emultempl/armcoff.em: Likewise. * emultempl/armelf_oabi.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/elf32.em: Likewise. * emultempl/generic.em: Likewise. * emultempl/gld960.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/lnk960.em: Likewise. * emultempl/m68kcoff.em: Likewise. * emultempl/mipsecoff.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/ticoff.em: Likewise. * emultempl/vanilla.em: Likewise. --- ld/ldemul.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ld/ldemul.h') diff --git a/ld/ldemul.h b/ld/ldemul.h index c49961c..3e27500 100644 --- a/ld/ldemul.h +++ b/ld/ldemul.h @@ -53,6 +53,8 @@ extern void syslib_default PARAMS ((char*)); extern void hll_default PARAMS ((char*)); extern int ldemul_find_potential_libraries PARAMS ((char *, struct lang_input_statement_struct *)); +extern struct bfd_elf_version_expr *ldemul_new_vers_pattern + PARAMS ((struct bfd_elf_version_expr *)); typedef struct ld_emulation_xfer_struct { /* Run before parsing the command line and script file. @@ -139,6 +141,11 @@ typedef struct ld_emulation_xfer_struct { int (* find_potential_libraries) PARAMS ((char *, struct lang_input_statement_struct *)); + /* Called when adding a new version pattern. PowerPC64-ELF uses + this hook to add a pattern matching ".foo" for every "foo". */ + struct bfd_elf_version_expr * (*new_vers_pattern) + PARAMS ((struct bfd_elf_version_expr *)); + } ld_emulation_xfer_type; typedef enum { -- cgit v1.1