binutils/gas problem with 'lcall'

From: Mikael Pettersson (mikpe@csd.uu.se)
Date: Wed Nov 01 2000 - 16:44:05 EST


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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Nov 07 2000 - 21:00:10 EST