Skip to contentSkip to conversation

binutils/gas problem with 'lcall'

DISCUSSION Mikael Pettersson 2 participants 2 messages Nov 1, 2000

lore
Share & tools
lore
#0 lore raw

arch/i386/kernel/apm.c and pci-pc.c use the lcall instruction (call far indirect) for invoking BIOS services.
The following syntax is used:

(apm) lcall %cs:apm_bios_entry
(pci-pc) lcall (%edi)

This works ok with binutils 2.9.5, but binutils 2.10.0.18 (gas 2.10.90) as shipped with RedHat 7.0 complains:

Warning: indirect lcall without `*'

To keep gas 2.10.90 happy one can insert the * prefix:

(apm) lcall *%cs:apm_bios_entry
(pci-pc) lcall *(%edi)

but older binutils like 2.9.5 treat these as syntax errors. Sigh.

So how do we want to handle this?
- ignore the warnings? (yuck; I hate compiler/assembler warnings)
- specify 2.10.0.18 as the minimum binutils for 2.4 kernels? if we're going to do it, we should do it NOW, before the real 2.4.0 is released

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#1 lore raw
Quoted 4 lines

but older binutils like 2.9.5 treat these as syntax errors. Sigh.

So how do we want to handle this?
- ignore the warnings? (yuck; I hate compiler/assembler warnings)

Correct ;)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/