This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/46655] invalid '.line 0' directive emitted with -g
- From: "michael.haubenwallner at salomon dot at" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 30 Nov 2010 12:23:02 +0000
- Subject: [Bug target/46655] invalid '.line 0' directive emitted with -g
- Auto-submitted: auto-generated
- References: <bug-46655-4@http.gcc.gnu.org/bugzilla/>
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.