forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

EE Toolchain: Fabled Bug List

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PS2 Development
View previous topic :: View next topic  
Author Message
ooPo
Site Admin


Joined: 17 Jan 2004
Posts: 2032
Location: Canada

PostPosted: Sat Jan 24, 2004 7:43 am    Post subject: EE Toolchain: Fabled Bug List Reply with quote

We've been talking about these elusive, undescribed bugs in the EE toolchain for a while now. Everyone seems to think there is some, but nobody knows where they are. Sometimes a 'shift bug' is mentioned, but all I've been able to come up with is they're shifting in a way that is a known limitation of gcc - it doesn't work in gcc period.

So, here's your chance to tell us what you've run into. The more descriptive the better and if you can reproduce it you'll get bonus points. Once we get a list of some decent bugs, we can drop it into bugzilla and maybe bug people to fix them...
Back to top
View user's profile Send private message Visit poster's website
Warren



Joined: 24 Jan 2004
Posts: 173
Location: San Diego, CA

PostPosted: Sat Jan 24, 2004 8:52 am    Post subject: Reply with quote

I think he's referring to the 3.2.2 based toolchain although all outstanding bugs in 2.95 would be nice as well. Please specify which version the bug applies to
Back to top
View user's profile Send private message
ooPo
Site Admin


Joined: 17 Jan 2004
Posts: 2032
Location: Canada

PostPosted: Sat Jan 24, 2004 9:04 am    Post subject: Reply with quote

Yes, sorry. I should have stated that. :)
Back to top
View user's profile Send private message Visit poster's website
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Sat Jan 24, 2004 11:46 am    Post subject: Reply with quote

Although MrHTFord fixed up a lot of the C++ magic in GCC, the current method of initializing static/global constructors is incompatible with the older toolchain, and requires linking in the extra crt* files. The right way to do it is to have GCC generate a call to __main() at the beginning of main().

I'll do the bugzilla thing for it - can anyone specifically describe what they have to do to build/link C++ code using the 3.2.2 toolchain?
Back to top
View user's profile Send private message
MrHTFord
Guest





PostPosted: Tue Feb 10, 2004 12:07 am    Post subject: gcc-3.2.2 c++ issues. Reply with quote

The fabled shift bug died when I fixed the second integer multiply (lo1/hi1)pipeline. I think it was a symptom of that problem. On the same note, code which does lots of integer multiplies gets a very good speed up due to this fix.

There is only one bug I'm aware of in the 3.2.2 toolchain as it stands. When you specify a big block on uninitialised data with alignment, it often gets put into the .bss section without the alignment. I've got a test case I can upload, if anyone's interested.

The hoops needed to get c++ static initialisers called with 3.2.2 are

1. add the following to your c++ file which contains the main() function:-

Code:
extern "C"
{
extern void _init( void );
}


2. then at the top of the main() function, call _init as follows:-

Code:
_init();


p.s. Bugzilla scares the crap outta me. Anyone know where I can find a gentle introduction to using it?
Back to top
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PS2 Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group