PERFORCE change 33723 for review

David O'Brien obrien at FreeBSD.org
Mon Jun 30 09:22:46 PDT 2003


I'll do something about this today.


On Thu, Jun 26, 2003 at 05:53:04PM -0700, Peter Wemm wrote:
> http://perforce.freebsd.org/chv.cgi?CH=33723
> 
> Change 33723 by peter at peter_hammer on 2003/06/26 17:52:45
> 
> 	Back out the evil hack to binutils contrib sources.  David may
> 	find this less offensive.  Instead of configuring libbfd with
> 	two ambiguous elf32_i386 targets, just configure one of them. This
> 	stops the autodetect code from complaining about the ambiguity.
> 	I think this is a bug on the i386 platform too, FWIW.
> 
> Affected files ...
> 
> .. //depot/projects/hammer/contrib/binutils/bfd/elf32-i386-fbsd.c#3 edit
> .. //depot/projects/hammer/contrib/binutils/bfd/elf32-i386.c#6 edit
> .. //depot/projects/hammer/contrib/gcc/config/i386/biarch64.h#3 edit
> .. //depot/projects/hammer/gnu/usr.bin/binutils/libbfd/Makefile.amd64#3 edit
> 
> Differences ...
> 
> ==== //depot/projects/hammer/contrib/binutils/bfd/elf32-i386-fbsd.c#3 (text+ko) ====
> 
> @@ -22,9 +22,6 @@
>  #define ELF_ARCH		bfd_arch_i386
>  #define ELF_MACHINE_CODE	EM_386
>  #define ELF_MAXPAGESIZE		0x1000
> -#ifdef __amd64__
> -#define ELF_OSABI		ELFOSABI_FREEBSD
> -#endif
>  
>  #include "bfd.h"
>  #include "sysdep.h"
> 
> ==== //depot/projects/hammer/contrib/binutils/bfd/elf32-i386.c#6 (text+ko) ====
> 
> @@ -629,20 +629,6 @@
>    /* Allocate our special target data.  */
>    struct elf_i386_obj_tdata *new_tdata;
>    bfd_size_type amt = sizeof (struct elf_i386_obj_tdata);
> -#ifdef __amd64__
> -  Elf_Internal_Ehdr * i_ehdrp;  /* ELF file header, internal form.  */
> -
> -  i_ehdrp = elf_elfheader (abfd);
> -
> -#ifdef ELF_OSABI
> -  if (i_ehdrp->e_ident[EI_OSABI] != ELF_OSABI)
> -    return false;
> -#endif
> -#if defined(__FreeBSD__) && !defined(ELF_OSABI)
> -  if (i_ehdrp->e_ident[EI_OSABI] == ELFOSABI_FREEBSD)
> -    return false;
> -#endif
> -#endif
>    new_tdata = bfd_zalloc (abfd, amt);
>    if (new_tdata == NULL)
>      return false;
> 
> ==== //depot/projects/hammer/contrib/gcc/config/i386/biarch64.h#3 (text+ko) ====
> 
> @@ -21,5 +21,5 @@
>  the Free Software Foundation, 59 Temple Place - Suite 330,
>  Boston, MA 02111-1307, USA.  */
>  
> -#define TARGET_64BIT_DEFAULT	1
> -#define TARGET_BI_ARCH		1
> +#define TARGET_64BIT_DEFAULT
> +#define TARGET_BI_ARCH
> 
> ==== //depot/projects/hammer/gnu/usr.bin/binutils/libbfd/Makefile.amd64#3 (text+ko) ====
> 
> @@ -1,21 +1,22 @@
>  # $FreeBSD: src/gnu/usr.bin/binutils/libbfd/Makefile.amd64,v 1.1 2003/04/26 03:28:21 obrien Exp $
>  
> -.include "${.CURDIR}/Makefile.i386"
> -
> -#	Get the i386 DEFAULT_VECTOR and VECS.
> -I386_VECS:=	${VECS}
> -
>  DEFAULT_VECTOR=	bfd_elf64_x86_64_vec
>  
> -VECS=	bfd_elf64_x86_64_vec ${I386_VECS}
> +VECS=	bfd_elf64_x86_64_vec bfd_elf32_i386_freebsd_vec
>  
>  SRCS+=	elf64-amd64-fbsd.c elf64-target.h elf64-gen.c elf64.c
> +SRCS+=	cpu-i386.c elf32-i386-fbsd.c elf32-target.h elf32.c elflink.c
>  
>  CLEANFILES+=	elf64-target.h
>  
>  elf64-target.h:	elfxx-target.h
>  	sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET}
>  
> +CLEANFILES+=	elf32-target.h
> +
> +elf32-target.h:	elfxx-target.h
> +	sed -e s/NN/32/g ${.ALLSRC} > ${.TARGET}
> +
>  CLEANFILES+=	elf64-amd64-fbsd.c
>  
>  elf64-amd64-fbsd.c: ${.CURDIR}/elf-fbsd-brand.c ${SRCDIR}/bfd/elf64-x86-64.c


More information about the p4-projects mailing list