Relax requirements on asm for non-BIOS i386 platforms.
These platforms don't have a hard limit on size of resulting code16 code, so we don't care if assembly is bigger than necessarry.
This commit is contained in:
parent
3c6043245e
commit
f16b8c0405
3 changed files with 19 additions and 12 deletions
10
asm-tests/i386-pc.S
Normal file
10
asm-tests/i386-pc.S
Normal file
|
@ -0,0 +1,10 @@
|
|||
/* on x86 old clang doesn't support .code16
|
||||
newer clang supports it but creates 6-byte jumps instead of 3-byte ones
|
||||
which makes us go over boot sector size. */
|
||||
|
||||
.code16
|
||||
jmp far
|
||||
.org 4
|
||||
.space 300
|
||||
far:
|
||||
.byte 0
|
|
@ -1,10 +1,4 @@
|
|||
/* on x86 old clang doesn't support .code16
|
||||
newer clang supports it but creates 6-byte jumps instead of 3-byte ones
|
||||
which makes us go over boot sector size. */
|
||||
/* on x86 old clang doesn't support .code16 */
|
||||
|
||||
.code16
|
||||
jmp far
|
||||
.org 4
|
||||
.space 300
|
||||
far:
|
||||
.byte 0
|
||||
movb %al, %bl
|
||||
|
|
11
configure.ac
11
configure.ac
|
@ -562,14 +562,17 @@ AC_COMPILE_IFELSE(
|
|||
|
||||
AC_CACHE_CHECK([for options to compile assembly], [grub_cv_cc_target_asm_compile], [
|
||||
test_program=
|
||||
case "x$target_cpu" in
|
||||
xmips | xmipsel)
|
||||
case "x$target_cpu-$platform" in
|
||||
xmips-* | xmipsel-*)
|
||||
test_program=mips
|
||||
;;
|
||||
xi386 | xx86_64)
|
||||
xi386-pc)
|
||||
test_program=i386-pc
|
||||
;;
|
||||
xi386-* | xx86_64-*)
|
||||
test_program=i386
|
||||
;;
|
||||
xpowerpc | xsparc64 | xarm)
|
||||
xpowerpc-* | xsparc64-* | xarm-*)
|
||||
test_program=$target_cpu
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Reference in a new issue