[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/4029] relax_segment can't stabilize .gcc_except_table
From: |
amodra at bigpond dot net dot au |
Subject: |
[Bug gas/4029] relax_segment can't stabilize .gcc_except_table |
Date: |
10 Mar 2007 10:58:01 -0000 |
------- Additional Comments From amodra at bigpond dot net dot au 2007-03-10
10:58 -------
Reduced testcase.
.data
.align 4
.byte 0, 0
.uleb128 end - start
start:
.space 128*128 - 1 /* or -2 or -3 */
.align 4
end:
I don't believe this is a gas bug. Instead, I believe gcc is asking the
impossible of gas. The original testcase or the reduced one above has no
correct solution. ie. this problem is caused by a design fault in the layout of
.gcc_except_table data.
Consider:
We know the uleb128 is either two or three bytes long. If end-start is
128*128-1 or somewhat less, then it will be two bytes. If 128*128 or a little
larger, then it will be three bytes.
But, if the uleb128 is two bytes in size, then end-start is 128*128
If the uleb128 is three bytes, then end-start is 128*128-1
This results in a contradiction.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
http://sourceware.org/bugzilla/show_bug.cgi?id=4029
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table,
amodra at bigpond dot net dot au <=
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, hjl at lucon dot org, 2007/03/10
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, amodra at bigpond dot net dot au, 2007/03/11
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, hjl at lucon dot org, 2007/03/11
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, hjl at lucon dot org, 2007/03/11
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, amodra at bigpond dot net dot au, 2007/03/12
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, amodra at bigpond dot net dot au, 2007/03/14
- [Bug gas/4029] relax_segment can't stabilize .gcc_except_table, amodra at bigpond dot net dot au, 2007/03/14