This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Duplicate symbols in recent cvs source


Hi Dave,

: After adding these, there are another similar set of duplicate
: symbols:
: 
: /bin/ld: Duplicate symbol "bfd_arm_pe_get_bfd_for_interworking", files epoc-pe-a
: rm.lo and pe-arm.lo
: /bin/ld: Duplicate symbol "bfd_arm_pe_process_before_allocation", files epoc-pe-
: arm.lo and pe-arm.lo
: /bin/ld: Duplicate symbol "bfd_arm_pe_allocate_interworking_sections", files epo
: c-pe-arm.lo and pe-arm.lo
: /bin/ld: Duplicate symbols are not allowed in shared libraries

I have checked in the patches below to fix this problem.

Cheers
	Nick

1999-06-04  Nick Clifton  <nickc@cygnus.com>

	* Makefile.am: Add epoc-arm-pe target.
	* Makefile.in: Regenerate.
	* pe-arm.c: Only redefine interworking function names if they have
	not already been redefined.
	* pei-arm.c: Only redefine interworking function names if they have
	not already been redefined.
	* epoc-pe-arm.c: Redefine interworking function names to avoid a
	name space clash.
	* epoc-pei-arm.c: Redefine interworking function names to avoid a
	name space clash.

1999-06-04  Nick Clifton  <nickc@cygnus.com>

	* emultempl/pe.em: If compiling for arm_epoc_pe rename
	interworking functions to avoid a name space clash.

Index: bfd/Makefile.am
===================================================================
RCS file: /cvs/binutils/binutils/bfd/Makefile.am,v
retrieving revision 1.2
diff -p -r1.2 Makefile.am
*** Makefile.am	1999/05/27 21:42:07	1.2
--- Makefile.am	1999/06/04 14:34:05
*************** BFD32_BACKENDS = \
*** 172,177 ****
--- 172,179 ----
  	elf32-v850.lo \
  	elf32.lo \
  	elflink.lo \
+ 	epoc-pe-arm.lo \
+ 	epoc-pei-arm.lo \
  	hp300bsd.lo \
  	hp300hpux.lo \
  	som.lo \
*************** BFD32_BACKENDS_CFILES = \
*** 291,296 ****
--- 293,300 ----
  	elf32-v850.c \
  	elf32.c \
  	elflink.c \
+ 	epoc-pe-arm.c \
+ 	epoc-pei-arm.c \
  	hp300bsd.c \
  	hp300hpux.c \
  	som.c \
*************** elf32.lo: elf32.c elfcode.h $(INCDIR)/bf
*** 888,893 ****
--- 892,903 ----
    elfcore.h elflink.h
  elflink.lo: elflink.c $(INCDIR)/bfdlink.h elf-bfd.h \
    $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h
+ epoc-pe-arm.lo: epoc-ep-arm.c pe-arm.c coff-arm.c $(INCDIR)/coff/arm.h \
+   $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
+   $(INCDIR)/bfdlink.h coffcode.h peicode.h
+ epoc-pei-arm.lo: epoc-pei-arm.c pei-arm.c coff-arm.c $(INCDIR)/coff/arm.h \
+   $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
+   $(INCDIR)/bfdlink.h coffcode.h peicode.h
  hp300bsd.lo: hp300bsd.c libaout.h $(INCDIR)/bfdlink.h \
    aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
    $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
Index: bfd/Makefile.in
===================================================================
RCS file: /cvs/binutils/binutils/bfd/Makefile.in,v
retrieving revision 1.2
diff -p -r1.2 Makefile.in
*** Makefile.in	1999/05/27 21:42:08	1.2
--- Makefile.in	1999/06/04 14:34:15
*************** BFD32_BACKENDS = \
*** 291,296 ****
--- 291,298 ----
  	elf32-v850.lo \
  	elf32.lo \
  	elflink.lo \
+ 	epoc-pe-arm.lo \
+ 	epoc-pei-arm.lo \
  	hp300bsd.lo \
  	hp300hpux.lo \
  	som.lo \
*************** BFD32_BACKENDS_CFILES = \
*** 411,416 ****
--- 413,420 ----
  	elf32-v850.c \
  	elf32.c \
  	elflink.c \
+ 	epoc-pe-arm.c \
+ 	epoc-pei-arm.c \
  	hp300bsd.c \
  	hp300hpux.c \
  	som.c \
*************** elf32.lo: elf32.c elfcode.h $(INCDIR)/bf
*** 1418,1423 ****
--- 1422,1433 ----
    elfcore.h elflink.h
  elflink.lo: elflink.c $(INCDIR)/bfdlink.h elf-bfd.h \
    $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h
+ epoc-pe-arm.lo: epoc-pe-arm.c pe-arm.c coff-arm.c $(INCDIR)/coff/arm.h \
+   $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
+   $(INCDIR)/bfdlink.h coffcode.h peicode.h
+ epoc-pei-arm.lo: epoc-pei-arm.c pei-arm.c coff-arm.c $(INCDIR)/coff/arm.h \
+   $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
+   $(INCDIR)/bfdlink.h coffcode.h peicode.h
  hp300bsd.lo: hp300bsd.c libaout.h $(INCDIR)/bfdlink.h \
    aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
    $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
Index: bfd/pe-arm.c
===================================================================
RCS file: /cvs/binutils/binutils/bfd/pe-arm.c,v
retrieving revision 1.2
diff -p -r1.2 pe-arm.c
*** pe-arm.c	1999/06/02 14:27:08	1.2
--- pe-arm.c	1999/06/04 14:34:33
*************** Foundation, Inc., 59 Temple Place - Suit
*** 31,41 ****
  #define PCRELOFFSET          true
  #define COFF_LONG_SECTION_NAMES
  
  #define bfd_arm_allocate_interworking_sections \
  	bfd_arm_pe_allocate_interworking_sections
  #define bfd_arm_get_bfd_for_interworking \
  	bfd_arm_pe_get_bfd_for_interworking
  #define bfd_arm_process_before_allocation \
  	bfd_arm_pe_process_before_allocation
! 
  #include "coff-arm.c"
--- 31,43 ----
  #define PCRELOFFSET          true
  #define COFF_LONG_SECTION_NAMES
  
+ #ifndef bfd_arm_allocate_interworking_sections 
  #define bfd_arm_allocate_interworking_sections \
  	bfd_arm_pe_allocate_interworking_sections
  #define bfd_arm_get_bfd_for_interworking \
  	bfd_arm_pe_get_bfd_for_interworking
  #define bfd_arm_process_before_allocation \
  	bfd_arm_pe_process_before_allocation
! #endif
! 	
  #include "coff-arm.c"
Index: bfd/pei-arm.c
===================================================================
RCS file: /cvs/binutils/binutils/bfd/pei-arm.c,v
retrieving revision 1.2
diff -p -r1.2 pei-arm.c
*** pei-arm.c	1999/06/02 14:27:10	1.2
--- pei-arm.c	1999/06/04 14:34:45
*************** Foundation, Inc., 59 Temple Place - Suit
*** 33,43 ****
  #define PCRELOFFSET        true
  #define COFF_LONG_SECTION_NAMES
  
  #define bfd_arm_allocate_interworking_sections \
  	bfd_arm_pe_allocate_interworking_sections
  #define bfd_arm_get_bfd_for_interworking \
  	bfd_arm_pe_get_bfd_for_interworking
  #define bfd_arm_process_before_allocation \
  	bfd_arm_pe_process_before_allocation
! 
  #include "coff-arm.c"
--- 33,45 ----
  #define PCRELOFFSET        true
  #define COFF_LONG_SECTION_NAMES
  
+ #ifndef bfd_arm_allocate_interworking_sections 
  #define bfd_arm_allocate_interworking_sections \
  	bfd_arm_pe_allocate_interworking_sections
  #define bfd_arm_get_bfd_for_interworking \
  	bfd_arm_pe_get_bfd_for_interworking
  #define bfd_arm_process_before_allocation \
  	bfd_arm_pe_process_before_allocation
! #endif
! 	
  #include "coff-arm.c"
Index: bfd/epoc-pe-arm.c
===================================================================
RCS file: /cvs/binutils/binutils/bfd/epoc-pe-arm.c,v
retrieving revision 1.1.1.1
diff -p -r1.1.1.1 epoc-pe-arm.c
*** epoc-pe-arm.c	1999/05/03 07:28:57	1.1.1.1
--- epoc-pe-arm.c	1999/06/04 14:34:55
*************** Foundation, Inc., 59 Temple Place - Suit
*** 25,30 ****
--- 25,36 ----
  #define TARGET_BIG_SYM       arm_epoc_pe_big_vec
  #define TARGET_BIG_NAME      "epoc-pe-arm-big"
  
+ #define bfd_arm_allocate_interworking_sections \
+ 	bfd_arm_epoc_pe_allocate_interworking_sections
+ #define bfd_arm_get_bfd_for_interworking \
+ 	bfd_arm_epoc_pe_get_bfd_for_interworking
+ #define bfd_arm_process_before_allocation \
+ 	bfd_arm_epoc_pe_process_before_allocation
  
  #include "pe-arm.c"
  
Index: bfd/epoc-pei-arm.c
===================================================================
RCS file: /cvs/binutils/binutils/bfd/epoc-pei-arm.c,v
retrieving revision 1.1.1.1
diff -p -r1.1.1.1 epoc-pei-arm.c
*** epoc-pei-arm.c	1999/05/03 07:28:57	1.1.1.1
--- epoc-pei-arm.c	1999/06/04 14:35:04
*************** Foundation, Inc., 59 Temple Place - Suit
*** 25,29 ****
--- 25,36 ----
  #define TARGET_BIG_SYM       arm_epoc_pei_big_vec
  #define TARGET_BIG_NAME      "epoc-pei-arm-big"
  
+ #define bfd_arm_allocate_interworking_sections \
+ 	bfd_arm_epoc_pe_allocate_interworking_sections
+ #define bfd_arm_get_bfd_for_interworking \
+ 	bfd_arm_epoc_pe_get_bfd_for_interworking
+ #define bfd_arm_process_before_allocation \
+ 	bfd_arm_epoc_pe_process_before_allocation
+ 
  #include "pei-arm.c"
  
Index: ld/emultempl/pe.em
===================================================================
RCS file: /cvs/binutils/binutils/ld/emultempl/pe.em,v
retrieving revision 1.4
diff -p -r1.4 pe.em
*** pe.em	1999/06/02 14:26:01	1.4
--- pe.em	1999/06/04 14:35:22
*************** Foundation, Inc., 59 Temple Place - Suit
*** 54,59 ****
--- 54,68 ----
  
  #define	PE_DEF_SUBSYSTEM		3
  
+ #ifdef TARGET_IS_arm_epoc_pe
+ #define bfd_arm_pe_allocate_interworking_sections \
+ 	bfd_arm_epoc_pe_allocate_interworking_sections
+ #define bfd_arm_pe_get_bfd_for_interworking \
+ 	bfd_arm_epoc_pe_get_bfd_for_interworking
+ #define bfd_arm_pe_process_before_allocation \
+ 	bfd_arm_epoc_pe_process_before_allocation
+ #endif
+ 
  static void gld_${EMULATION_NAME}_set_symbols PARAMS ((void));
  static void gld_${EMULATION_NAME}_after_open PARAMS ((void));
  static void gld_${EMULATION_NAME}_before_parse PARAMS ((void));

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]