Mostly aesthetical changes. "jam pxehaiku" worked here before and still
does. Marcus, what problem did you encounter? The BuildPXEstage1 actions use "as" ATM, which is not correct, since it should actually use the target platform assembler (i.e. cross-compilation won't work). It should be replaced by $(TARGET_CC), but that results in the following errors, when compiling with gcc 2.95.3: /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S: Assembler messages: /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:39: Error: missing ')' /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:96: Error: `0x6(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:102: Error: `0xa(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:127: Error: `2(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:128: Error: `0(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:147: Error: `16(%ebx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:149: Error: `20(%ebx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:173: Error: `2(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:174: Error: `0(%edx)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:298: Error: `(%esi)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:299: Error: `(%edi)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:306: Error: `(%esi)' is not a valid 16 bit base/index expression /home/bonefish/develop/haiku/haiku/src/system/boot/platform/pxe_ia32/pxe_stage1.S:307: Error: `(%edi)' is not a valid 16 bit base/index expression For the gcc 4 configuration all but the first errors disappear. It looks like these are bugs in older assembler version. Any reasonable work-around? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20043 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -55,19 +55,20 @@ KernelMergeObject boot_platform_pxe_ia32.o :
|
||||
;
|
||||
|
||||
|
||||
rule BuildPXEstage1 {
|
||||
local bin = $(1) ;
|
||||
local source = $(2) ;
|
||||
|
||||
rule BuildPXEstage1 bin : source {
|
||||
SEARCH on $(source) = $(SEARCH_SOURCE) ;
|
||||
Depends $(bin) : $(source) ;
|
||||
MakeLocateDebug $(bin) ;
|
||||
LocalClean clean : $(bin) ;
|
||||
}
|
||||
|
||||
|
||||
# TODO: "as" should be replaced by $(TARGET_CC), but it fails for older GNU As
|
||||
# versions.
|
||||
actions BuildPXEstage1 {
|
||||
rm -f $(1)
|
||||
as -o $(1).o $(2)
|
||||
ld --oformat binary --Ttext 0x7C00 -o $(1) $(1).o
|
||||
as -o $(1).o $(2) &&
|
||||
$(TARGET_LD) --oformat binary --Ttext 0x7C00 -o $(1) $(1).o
|
||||
}
|
||||
|
||||
BuildPXEstage1 pxehaiku : pxe_stage1.S ;
|
||||
@@ -84,5 +85,3 @@ SEARCH on [ FGristFiles $(bios_ia32_edid_src) ]
|
||||
# We also need the bios_ia32 stage1.bin for building bin/makebootable
|
||||
SEARCH on stage1.bin
|
||||
= [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ;
|
||||
|
||||
SEARCH on pxe_stage1.S = $(SUBDIR) ;
|
||||
|
||||
Reference in New Issue
Block a user