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]