Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 49241
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: GCC Porting Team <gcc-porting@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Robert Moss (RETIRED) <robmoss@gentoo.org>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
021109-gcc34-2.patch Patch to fix compilation error patch Robert Moss (RETIRED) 2004-04-27 21:09 0000 347 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 49241 depends on: Show dependency tree
Bug 49241 blocks: 48528
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-04-27 21:09 0000
The source breaks function inlining limits, as we invalidly jump into a binding
contour. The attached patch fixes this. (NB: This is probably due for a
complete rewrite upstream as it's horrible!)

Reproducible: Always
Steps to Reproduce:

------- Comment #1 From Robert Moss (RETIRED) 2004-04-27 21:09:45 0000 -------
Created an attachment (id=30214) [details]
Patch to fix compilation error

Note that this is not the same patch as is currently found in portage - this is
in addition.

------- Comment #2 From SpanKY 2004-04-27 21:14:22 0000 -------
iputils emerges fine here with 3.4.0

what are your CFLAGS ?

------- Comment #3 From Robert Moss (RETIRED) 2004-04-27 21:29:15 0000 -------
The problem is the following flag:

"-finline-limit=xxxx"

where xxxx is an integer between 100 and 10000 (I think). Whilst it is true that removing this flag allows compilation without the above patch, the code is still broken, and this will not compile using GCC 3.5.x (i.e. mainline) with no CFLAGS at all without this patch, and will probably not compile with GCC 3.4.1 when it's released, as the fact that this doesn't break without -finline-limit has been reported as a bug upstream and should be fixed in time for that. Jumping out of loops to labels in such a fashion as occurs here is no longer conformant behaviour.

------- Comment #4 From SpanKY 2004-04-27 21:43:38 0000 -------
'no longer conformant behaviour' ... is that per some ISO standard ?

if so i have no problem adding the patch but otherwise, the code (while ugly), does not look 'wrong' :)

------- Comment #5 From Robert Moss (RETIRED) 2004-04-28 09:15:01 0000 -------
I think that if I search REALLY hard, I might be able to find the reference
from the GCC mailing list, but I don't have time, I'm afraid... It was
something about jumping out of a loop to a label under certain conditions. As
far as I can tell, this contravenes one of those conditions...

------- Comment #6 From Robert Moss (RETIRED) 2004-04-30 18:07:34 0000 -------
http://gcc.gnu.org/ml/gcc-patches/2002-08/msg00432.html

Well, I didn't have time before, but I do now... I *think* this patch has only picked this up now because of the new function inlining code. Check out the testsuite function.

------- Comment #7 From SpanKY 2004-05-01 23:56:09 0000 -------
added to cvs, thanks for the patch

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug