Index: build/jam/BuildSetup =================================================================== --- build/jam/BuildSetup (revision 37496) +++ build/jam/BuildSetup (working copy) @@ -165,12 +165,15 @@ HAIKU_C++ ?= $(HAIKU_CC) ; HAIKU_LINK = $(HAIKU_CC) ; HAIKU_LINKFLAGS = $(HAIKU_GCC_BASE_FLAGS) ; +HAIKU_BOOT_LINKFLAGS = ; HAIKU_HDRS = [ FStandardHeaders ] ; HAIKU_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) -nostdinc ; HAIKU_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) -nostdinc ; HAIKU_KERNEL_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) ; HAIKU_KERNEL_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) ; +HAIKU_BOOT_CCFLAGS = ; +HAIKU_BOOT_C++FLAGS = ; HAIKU_DEFINES = __HAIKU__ ; HAIKU_NO_WERROR ?= 0 ; @@ -246,11 +249,11 @@ } case x86_64 : { - HAIKU_DEFINES += __x86_64__ ; - HAIKU_BOOT_PLATFORM = bios_ia32 ; + HAIKU_BOOT_PLATFORM = bios_x86_64 ; HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB # offset in floppy image (>= sizeof(haiku_loader)) HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB + HAIKU_NO_WERROR = 1 ; # yasm is required for target arch x86_64 if ! $(HAIKU_YASM) { @@ -335,7 +338,6 @@ HAIKU_KERNEL_PIC_CCFLAGS = -fPIE ; HAIKU_KERNEL_PIC_LINKFLAGS = -shared -fPIE ; } - case m68k : { # We don't want to have to handle emulating missing FPU opcodes for 040 @@ -357,6 +359,15 @@ } case x86_64 : { + HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ; + + HAIKU_KERNEL_PIC_CCFLAGS += -mcmodel=large ; + HAIKU_KERNEL_PIC_C++FLAGS += -mcmodel=large ; + + HAIKU_BOOT_LINKFLAGS += -m elf_i386_haiku ; + HAIKU_BOOT_CCFLAGS += -m32 ; + HAIKU_BOOT_C++FLAGS += -m32 ; + # Enable use of the gcc built-in atomic functions instead of atomic_*(). # The former are inlined and have thus less overhead. HAIKU_DEFINES += B_USE_BUILTIN_ATOMIC_FUNCTIONS ; @@ -911,6 +922,7 @@ KERNEL_DEFINES KERNEL_CCFLAGS KERNEL_C++FLAGS + BOOT_CCFLAGS BOOT_C++FLAGS BOOT_LINKFLAGS KERNEL_PIC_CCFLAGS KERNEL_PIC_LINKFLAGS WARNING_CCFLAGS WARNING_C++FLAGS Index: build/scripts/build_cross_tools_gcc4 =================================================================== --- build/scripts/build_cross_tools_gcc4 (revision 37496) +++ build/scripts/build_cross_tools_gcc4 (working copy) @@ -27,6 +27,10 @@ export MAKE case $haikuMachine in +x86_64-*) + binutilsConfigureArgs="--enable-multilib" + gccConfigureArgs="--enable-multilib" + ;; m68k-*) binutilsConfigureArgs="--enable-multilib" gccConfigureArgs="--enable-multilib"