diff options
| author | Michael Brown | 2012-04-10 13:55:54 +0200 |
|---|---|---|
| committer | Michael Brown | 2012-04-10 14:00:46 +0200 |
| commit | 3c13d68f50d556141fb42e58ea2358a54f40f33a (patch) | |
| tree | 9e7b8ef69a76eaaae3dbbb0c572ea861cdef5006 | |
| parent | [syslog] Add basic support for encrypted syslog via TLS (diff) | |
| download | ipxe-3c13d68f50d556141fb42e58ea2358a54f40f33a.tar.gz ipxe-3c13d68f50d556141fb42e58ea2358a54f40f33a.tar.xz ipxe-3c13d68f50d556141fb42e58ea2358a54f40f33a.zip | |
[int13] Fix compilation on some versions of gcc
Using __from_text16() and __from_data16() in inline asm constraints
sometimes defeats gcc's ability to simplify expressions down to
compile-time constants.
Reported-by: Jason Kohles <jkohles@palantir.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
| -rw-r--r-- | src/arch/i386/interface/pcbios/int13.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/arch/i386/interface/pcbios/int13.c b/src/arch/i386/interface/pcbios/int13.c index 6d6d7f878..0a1e77484 100644 --- a/src/arch/i386/interface/pcbios/int13.c +++ b/src/arch/i386/interface/pcbios/int13.c @@ -1499,16 +1499,15 @@ static void int13_hook_vector ( void ) { "cmpb $0x08, -1(%%bp)\n\t" "jne 3f\n\t" "testb $0x80, %%dl\n\t" - "movb %%cs:%c1, %%dl\n\t" + "movb %%cs:num_drives, %%dl\n\t" "jnz 3f\n\t" - "movb %%cs:%c2, %%dl\n\t" + "movb %%cs:num_fdds, %%dl\n\t" /* Return */ "\n3:\n\t" "movw %%bp, %%sp\n\t" "popw %%bp\n\t" "iret\n\t" ) - : : "i" ( int13 ), "i" ( __from_text16 ( &num_drives ) ), - "i" ( __from_text16 ( &num_fdds ) ) ); + : : "i" ( int13 ) ); hook_bios_interrupt ( 0x13, ( unsigned int ) int13_wrapper, &int13_vector ); |
