From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Lance Taylor To: robertl@dgii.com Cc: gas2@cygnus.com Subject: Re: pushl computed immediate address on 2.8.1 Date: Fri, 02 Jan 1998 13:06:00 -0000 Message-id: <199801022106.QAA01775@subrogation.cygnus.com> References: <19980102144041.15293@dgii.com> X-SW-Source: 1998/msg00001.html Date: Fri, 2 Jan 1998 14:40:41 -0600 From: Robert Lipe I was thinking this was a bug in the SCO x86 assembler becuase it worked under GAS for Linux. However, after some prodding form the egcs folks that really know PIC, I'm wondering if this is actually a construct that GAS should produce an error for becuase GCC shouldn't emit it. The problem is that pushl $.LC0@GOTOFF(%ebx) seems to assemble just like pushl $LC0 so it ends up generating an push of an absolute address once the linker gets done with it. This happens because when gas sees the '$', it passes the rest of the line to the expression parsing code. The expression parser doesn't recognize the '@', so it just returns .LC0. gas then fails to notice that part of the line wasn't parsed. Does this sound right at all? Should GAS error on this? It sounds wrong, and I'll change gas to emit an error. Ian