diff --git a/ChangeLog b/ChangeLog index b453a9083..db1479e8a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-08-31 OKUJI Yoshinori + + * stage1/stage1.S (MOV_MEM_TO_AL): New macro. + (real_start): Use the macro MOV_MEM_TO_AL instead of using movb + directly, because binutils-2.9.1.0.x doesn't produce a short + opcode for it automatically. Reported by Alessandro Rubini + . + 2000-08-30 OKUJI Yoshinori * configure.in (CPPFLAGS): Remove -Wundef by default. Add the diff --git a/stage1/stage1.S b/stage1/stage1.S index b64097ead..fa739d33f 100644 --- a/stage1/stage1.S +++ b/stage1/stage1.S @@ -33,6 +33,9 @@ /* Print message string */ #define MSG(x) movw $ABS(x), %si; call message + /* XXX: binutils-2.9.1.0.x doesn't produce a short opcode for this. */ +#define MOV_MEM_TO_AL(x) .byte 0xa0; .word x + .file "stage1.S" .text @@ -126,7 +129,7 @@ real_start: /* * Check if we have a forced disk reference here */ - movb ABS(boot_drive), %al + MOV_MEM_TO_AL(ABS(boot_drive)) /* movb ABS(boot_drive), %al */ cmpb $0xff, %al je 1f movb %al, %dl @@ -152,7 +155,7 @@ real_start: jne chs_mode /* check if AH=0x42 is supported if FORCE_LBA is zero */ - movb ABS(force_lba), %al + MOV_MEM_TO_AL(ABS(force_lba)) /* movb ABS(force_lba), %al */ testb %al, %al jnz skip_lba_bitmap_check andw $1, %cx