* dwarf-1 egcs outputs bad .s / GAS allows it.
@ 1999-03-26 19:32 Robert Lipe
1999-03-27 7:23 ` Ian Lance Taylor
0 siblings, 1 reply; 2+ messages in thread
From: Robert Lipe @ 1999-03-26 19:32 UTC (permalink / raw)
To: egcs-bugs; +Cc: gas2
Two groups copied. Decouple the respective alias from any conversation
that doesn't impact that group. I'm not sure, but I think there are two
bugs. The first bug is that EGCS emits this. The second is that GAS
accepts it. :-)
EGCS off the trunk from this morning. GAS is 990223. Both configured
for Unixware 7 (i686-pc-sysv5). I have no real reason to believe this
is target-specific other that dwarf-1 on x86 isn't a road well travelled.
I just analyzed the testsuite failure on bf-pack-1.c. It takes all of
'-O3 -fPIC -g' to trigger this bug on this case.
/home3/negcs/gcc/xgcc --save-temps -dA -B/home3/negcs/gcc/ /play/egcs/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c -w -O3 -g -lm -fPIC
.L_D8_e:
.L_D9:
.4byte .L_D9_e-.L_D9
.2byte 0xd / TAG_member
.2byte 0x12 / AT_sibling
.4byte .L_D10
.2byte 0x38 / AT_name
.string "whole"
.2byte 0x142 / AT_member
.4byte .L_T83
.2byte 0x55 / AT_fund_type
.2byte 0xc / FT_unsigned_long
.2byte 0xb6 / AT_byte_size
.4byte 0x4
.2byte 0xd6 / AT_bit_size
.4byte 0x20
.2byte 0xc5 / AT_bit_offset
HERE-> .2byte 0xfffffff0
.2byte 0x23 / AT_location
.2byte .L_l9_e-.L_l9
.L_l9:
.byte 0x4 / OP_CONST
.4byte 0x0
This is coming from the end bit_offset_attribute() in dwarfout.c. It
calls ASM_OUTPUT_DWARF_DATA2 but bit_offset is negative. ( I don't know
why it's negative but when you subtract 0x30 from 0x20 you do indeed get
a -0x10.)
Should bit_offset be masked to fit in 16 bits? Should it be .4byte?
Should this be an impossible combination anyway? Why does GAS allow this?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: dwarf-1 egcs outputs bad .s / GAS allows it.
1999-03-26 19:32 dwarf-1 egcs outputs bad .s / GAS allows it Robert Lipe
@ 1999-03-27 7:23 ` Ian Lance Taylor
0 siblings, 0 replies; 2+ messages in thread
From: Ian Lance Taylor @ 1999-03-27 7:23 UTC (permalink / raw)
To: robertl; +Cc: egcs-bugs, gas2
Date: Fri, 26 Mar 1999 21:31:26 -0600
From: Robert Lipe <robertl@sco.com>
HERE-> .2byte 0xfffffff0
Should bit_offset be masked to fit in 16 bits? Should it be .4byte?
Should this be an impossible combination anyway? Why does GAS allow this?
gas should issue a warning for this case. It doesn't because it needs
to accept
.2byte -10
and it is getting confused in the obvious way. It's a bug.
Ian
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~1999-03-27 7:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-26 19:32 dwarf-1 egcs outputs bad .s / GAS allows it Robert Lipe
1999-03-27 7:23 ` Ian Lance Taylor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).