First is binutils, which require the following changes when moving from 32-bit output to 64-bit output.
bfd/config.bfd:
Code: Select all
*** config.bfd.old 2012-09-04 16:15:00.000000000 +0200
--- config.bfd 2012-11-17 20:53:06.000000000 +0100
***************
*** 699,706 ****
targ_cflags=-DSTRICT_PE_FORMAT
;;
i[3-7]86-*-rdos*)
! targ_defvec=bfd_elf32_i386_vec
! targ_selvecs=i386coff_vec
;;
i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
targ_defvec=i386pe_vec
--- 699,706 ----
targ_cflags=-DSTRICT_PE_FORMAT
;;
i[3-7]86-*-rdos*)
! targ_defvec=bfd_elf64_x86_64_vec
! targ_selvecs=bfd_elf32_i386_vec
;;
i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
targ_defvec=i386pe_vec
Code: Select all
*** configure.tgt.old 2012-09-04 14:53:48.000000000 +0200
--- configure.tgt 2012-11-17 20:41:50.000000000 +0100
***************
*** 197,203 ****
i[3-7]86-*-coff) targ_emul=i386coff ;;
i[3-7]86-*-rtems*) targ_emul=elf_i386 ;;
i[3-7]86-*-aros*) targ_emul=elf_i386 ;;
! i[3-7]86-*-rdos*) targ_emul=elf_i386 ;;
i[3-7]86-*-bsd) targ_emul=i386bsd ;;
i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
--- 197,203 ----
i[3-7]86-*-coff) targ_emul=i386coff ;;
i[3-7]86-*-rtems*) targ_emul=elf_i386 ;;
i[3-7]86-*-aros*) targ_emul=elf_i386 ;;
! i[3-7]86-*-rdos*) targ_emul=elf_x86_64 ;;
i[3-7]86-*-bsd) targ_emul=i386bsd ;;
i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
I'll post these patches to the binutils project, hoping for acceptance.