Thread View: gnu.g++.bug
1 messages
1 total messages
Started by David Becker
Tue, 31 Jan 1989 02:11
port to pyramid
Author: David Becker
Date: Tue, 31 Jan 1989 02:11
Date: Tue, 31 Jan 1989 02:11
57 lines
2895 bytes
2895 bytes
I'm attempting to port g++1.31.0 to our pyramids. I need to determine if the remaining problems are mine(pyramid related) or if they are bugs in general. Inlines returning structs are broke: In test6 this appears: Integer z = abs(x); where x is an Integer. The Integer created in abs is the one z becomes, however in Integer(Integer&) *this points to the wrong address. This happens for all inline functions that return structs I've looked at and these all work when -Dinline= makes them normal functions. Of course the inlines are still in effect for stuff in libg++ so some tests still crash. test5a and test5b break gcc-c++: They both have crashed it a couple of ways. Sometimes an invalid param list is reported at the end. Sometimes invalid assembly is generated. And sometimes a segmentation violation happens. In that case handle_braces() is on the stack. Does anyone recognize this ... PLEASE. This does not look pretty so I haven't pursued it. On a happier note these bugs were identified: Bug: int a(), b(), c(); in a class def is causes a parse error Fix: replace commas with semis. Zortech accepts the above code. Bug: ld++ put data at different addresses than where the relocated symbols pointed. NMAGIC objects have, on pyramids, their .data sections page aligned and ld++ thought they were just word aligned. OMAGIC .data segments were handled correct as word aligned. Fix: make a N_DATADDR() macro like the what ld++ uses to calculate the start on the new .data segment to calculate where .data's start in objects. N_DATADDR() is for struct exec so a new one for struct nlist was made. Problem: pyramid's assembler doesn't accept $'s in symbols Fix: changed all $'s in cplus-tree.h and ld.c to .'s. The ld.c ones were real fun to try and find :-(. Thanks guys. Perhaps this character could be defined in one place for use everywhere else. 'Bug': gcc1.31 ran out of virtual memory trying to compile cplus-parse.tab.c. (this also happened when I tried to port this to my 3b1. Didn't expect the pyramid to have any difficulty) 'Fix': used pyramid's cc. We are low on swap space (40M total and 10M or 15M normally available). But how much does gcc need??? What was the -DESKIT for? Couldn't find ESKIT refered to anywhere. Does 1.32 fix any of these bugs? -- David Becker and another bug bites, and another bug bites another bug bites the dust db@kolonel.MN.ORG
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads