--- bfd/elf.c.orig	2002-07-30 20:19:42.000000000 +0200
+++ bfd/elf.c	2002-08-22 17:41:47.000000000 +0200
@@ -441,7 +441,7 @@
   isymend = intsym_buf + symcount;
   for (esym = extsym_buf, isym = intsym_buf, shndx = extshndx_buf;
        isym < isymend;
-       esym += extsym_size, isym++, shndx = shndx != NULL ? shndx + 1 : NULL)
+       (char *)esym += extsym_size, isym++, shndx = shndx != NULL ? shndx + 1 : NULL)
     (*bed->s->swap_symbol_in) (ibfd, esym, (const PTR) shndx, isym);
 
  out:
@@ -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:
