Hi,

thanks for your quick reply.

I must say, I am quite puzzled by the need to do this change.  What
is so special on kfreebsd-*, that makes it necessary to name the
file-format differently ?

It is due to different kernel, with different ABI and different default for ld.
The intermediate .o files are built by gcc according to standard ABI for given 
OS.
On Linux/i386, the current standard OUTPUT_FORMAT is elf32-i386
and on FreeBSD/i386 it is elf32-i386-freebsd.

The main reason for change of memtest_shared.lds is that linking of memtest_shared have to be done with compliance to previous "-fPIC" and so on. It have to correctly resolve i.e. _GLOBAL_OFFSET_TABLE_.


With regards
                Petr


ld supported targets:

Linux:
        elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big 
elf64-x86-64
        elf64-little elf64-big srec symbolsrec tekhex binary ihex trad-core

FreeBSD:
        elf32-i386-freebsd coff-i386 elf32-little elf32-big elf64-x86-64 
elf32-i386 efi-app-ia32
        elf64-little elf64-big srec symbolsrec tekhex binary ihex


Various defined ELF ABI's.

From 
http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/binutils/readelf.c?content-type=text/plain&cvsroot=src

    case ELFOSABI_NONE:         return "UNIX - System V";
    case ELFOSABI_HPUX:         return "UNIX - HP-UX";
    case ELFOSABI_NETBSD:       return "UNIX - NetBSD";
    case ELFOSABI_LINUX:        return "UNIX - Linux";
    case ELFOSABI_HURD:         return "GNU/Hurd";
    case ELFOSABI_SOLARIS:      return "UNIX - Solaris";
    case ELFOSABI_AIX:          return "UNIX - AIX";
    case ELFOSABI_IRIX:         return "UNIX - IRIX";
    case ELFOSABI_FREEBSD:      return "UNIX - FreeBSD";
    case ELFOSABI_TRU64:        return "UNIX - TRU64";
    case ELFOSABI_MODESTO:      return "Novell - Modesto";
    case ELFOSABI_OPENBSD:      return "UNIX - OpenBSD";
    case ELFOSABI_OPENVMS:      return "VMS - OpenVMS";
    case ELFOSABI_NSK:          return "HP - Non-Stop Kernel";
    case ELFOSABI_AROS:         return "Amiga Research OS";
    case ELFOSABI_STANDALONE:   return _("Standalone App");
    case ELFOSABI_ARM:          return "ARM";




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to