This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: [PATCH] Silence gas warning about "*"
- To: chip at pobox dot com
- Subject: Re: [PATCH] Silence gas warning about "*"
- From: OKUJI Yoshinori <okuji at kuicr dot kyoto-u dot ac dot jp>
- Date: Tue, 30 May 2000 13:21:22 +0900
- Cc: bug-grub at gnu dot org, binutils at sourceware dot cygnus dot com
- References: <20000529183401.A23768@perlsupport.com>
[I add binutils into "Cc:", since I have a question about binutils.]
From: Chip Salzenberg <chip@pobox.com>
Subject: [PATCH] Silence gas warning about "*"
Date: Mon, 29 May 2000 18:34:01 -0700
> 2000-05-29 Chip Salzenberg <chip@valinux.com>
>
> * netboot/pci.c (bios32_service,
> pcibios_{read,write}_config_{byte,word,dword}, check_pcibios):
> Use '*' punctuation in lcall instructions, per gas warnings.
> * stage2/asm.S: Likewise for ljmp instructions.
Don't do that, since binutils-2.9.1.0.x doesn't support such syntax
as "lcall *(%edi)". I don't know why binutils-2.9.5.0.x does want to
give you so unnecessary warnings, though.
For binutils developers: Why does newer GAS warn formats like "lcall
(%edi)"? AFAIK, binutils-2.9.1 only supports such formats and it fails
when it encounters "lcall *(%edi)" or similar. I think it is
consistent with the other formats to prepend an asterisk to an absolute
call or jump operand which uses a register as well, but even GCC
generates absolute call/jump operands without `*', so isn't it too
strict to raise warnings?
Okuji