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
|
/* 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
|
.code16
|
||||||
jmp far
|
movb %al, %bl
|
||||||
.org 4
|
|
||||||
.space 300
|
|
||||||
far:
|
|
||||||
.byte 0
|
|
||||||
|
|
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], [
|
AC_CACHE_CHECK([for options to compile assembly], [grub_cv_cc_target_asm_compile], [
|
||||||
test_program=
|
test_program=
|
||||||
case "x$target_cpu" in
|
case "x$target_cpu-$platform" in
|
||||||
xmips | xmipsel)
|
xmips-* | xmipsel-*)
|
||||||
test_program=mips
|
test_program=mips
|
||||||
;;
|
;;
|
||||||
xi386 | xx86_64)
|
xi386-pc)
|
||||||
|
test_program=i386-pc
|
||||||
|
;;
|
||||||
|
xi386-* | xx86_64-*)
|
||||||
test_program=i386
|
test_program=i386
|
||||||
;;
|
;;
|
||||||
xpowerpc | xsparc64 | xarm)
|
xpowerpc-* | xsparc64-* | xarm-*)
|
||||||
test_program=$target_cpu
|
test_program=$target_cpu
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in a new issue