--- bfd/elf.c.orig 2002-07-30 20:19:42.000000000 +0200 +++ bfd/elf.c 2002-08-22 17:41:47.000000000 +0200 @@ -4235,6 +4235,12 @@ else i_ehdrp->e_type = ET_REL; + /* OpenPKG platform branding BEGIN */ +#if defined(OPENPKG_OS_FREEBSD) + i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD; +#endif + /* OpenPKG platform branding END */ + switch (bfd_get_arch (abfd)) { case bfd_arch_unknown: --- bfd/elf64-sparc.c.dist 2003-06-20 09:42:19.000000000 +0200 +++ bfd/elf64-sparc.c 2003-06-20 09:42:40.000000000 +0200 @@ -2684,7 +2684,7 @@ overflows. We don't, but this breaks stabs debugging info, whose relocations are only 32-bits wide. Ignore overflows for discarded entries. */ - if (r_type == R_SPARC_32 + if ((r_type == R_SPARC_32 || r_type == R_SPARC_DISP32) && _bfd_elf_section_offset (output_bfd, info, input_section, rel->r_offset) == (bfd_vma) -1) break; Index: bfd/configure --- bfd/configure.orig 2003-06-12 16:25:46.000000000 +0200 +++ bfd/configure 2004-04-30 22:01:31.000000000 +0200 @@ -5133,6 +5133,10 @@ i[3456]86-*-bsdi) COREFILE= ;; + i[3456]86-*-freebsd4.1[0-9]*) + COREFILE='' + TRAD_HEADER='"hosts/i386bsd.h"' + ;; i[3456]86-*-bsd* | i[34567]86-*-freebsd[123] | i[34567]86-*-freebsd[123]\.* | i[34567]86-*-freebsd4\.[01234]* | i[34567]86-*-freebsd*aout*) COREFILE=trad-core.lo TRAD_HEADER='"hosts/i386bsd.h"'