This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/46655] invalid '.line 0' directive emitted with -g


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46655

--- Comment #10 from Michael Haubenwallner <michael.haubenwallner at salomon dot at> 2010-11-30 12:22:43 UTC ---
(In reply to comment #9)
> I believe the line number field in XCOFF is defined in /usr/include/linenum.h. 
> According to that file, in 32 bit mode, line numbers are represented by an
> unsigned short, whose maximum value is 65535.  In 64 bit mode, line numbers are
> represented by unsigned int.

Ohw, indeed.

> Is the 64K limit really new?  Is this really a change in AIX as or did
> something else change and start generating files referencing line numbers
> larger than 64K?

AFAICS, AIX as changed somewhere around SP6100-04-07-1036 so that it actually
does check the 64k limit (as well as the zero limit) now. On AIX5.3, linenum.h
also declares l_lnno as unsigned short in 32bit, but the assembler does not
choke on any line in test.s from comment#3 there. 

> I have not seen this error while bootstrapping GCC on AIX.  The error looks
> correct.  What else changed?

Before installing SP6100-04-07-1036 I've also been able to bootstrap gcc-4.2.4
without any problems using AIX as/ld. But this is broken since
SP6100-04-07-1036 is installed.

However - as a side note, applying attachment#22583 to gcc-4.2.4 breaks
bootstrapping gcc-4.2.4 even on AIX 5.3 (which doesn't choke on .line <=0 or
>=64k) both with and without STAGE1_CFLAGS=-O (to not trigger this problem in
the gcc used to bootstrap) with 'Bootstrap comparison failure' due to different
.line numbers in stage 2 and 3.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]