| View previous topic :: View next topic |
| Author |
Message |
Neil Stevens

Joined: 27 Jan 2005 Posts: 79 Location: California
|
Posted: Mon Jan 31, 2005 9:28 pm Post subject: Makefile.eeglobal_sample fix |
|
|
As I've waded ever deeper into developing with ps2sdk, I've been including the Makefiles in ps2sdk/samples in my project. Unfortunately, as it stands, ps2sdk/samples/Makefile.eeglobal_sample in CVS doesn't quite seem to work. Could someone with CVS write access apply this fix, so that future users don't run into trouble?
According to the comments in the file, libkernel must be linked in last. It's not last in that file right now, though. I wasn't able to link anything until Drakonite on IRC and here pointed this out to me, and after I fixed that locally things started working. So ps2sdk/samples/Makefile.eeglobal_sample's EE_LIBS line I think should be changed in CVS to
| Code: | | EE_LIBS += -lc -lsyscall -lkernel |
Unfortunately, I have no rationale other than "This works for me, while the line currently seen in ViewCVS doesn't." But, unless my setup is weird *and* the comment is bunk, this is the right thing to do.
(That's a lot of verbiage for a one line fix! It's a shame I don't know WHY these libs are finicky. I'd be able to make the case succinctly in that case.)
Thank you, |
|
| Back to top |
|
 |
Oobles Site Admin
Joined: 17 Jan 2004 Posts: 362 Location: Melbourne, Australia
|
Posted: Wed Feb 02, 2005 9:24 am Post subject: |
|
|
Thanks for picking that up. We're always interested in getting fixes for ps2sdk. Even if the pick up can be a bit slow at times.
As for the reason; it's because the linker isn't very smart. It only looks at the previous libraries on the line for functions. This means that if you have two libraries that use functions from each other you must add the libraries twice. eg.
-lfoo -lbar -lfoo
This is why the order is important and that you can see items duplicated. Hope that explains it.
Oobles. |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Wed Feb 02, 2005 9:38 am Post subject: |
|
|
| Its smarter than the old method of just including everything. :) |
|
| Back to top |
|
 |
Neil Stevens

Joined: 27 Jan 2005 Posts: 79 Location: California
|
Posted: Wed Feb 02, 2005 2:21 pm Post subject: |
|
|
| Thanks for the explanation! |
|
| Back to top |
|
 |
pukko
Joined: 17 Jan 2004 Posts: 17
|
Posted: Wed Feb 02, 2005 6:52 pm Post subject: |
|
|
I guess the library order issue is all sorted out now, but if not I'd say it's time we use the --start-group 'list of libs' --end-group linker option for these libraries.. :P
Though I dunno if that works w the old toolchain? |
|
| Back to top |
|
 |
mrbrown
Joined: 17 Jan 2004 Posts: 1536
|
Posted: Thu Feb 03, 2005 3:41 am Post subject: |
|
|
Or you can add the group to the top of the linker script which is what Sony libs do. _________________ "He was warned..." |
|
| Back to top |
|
 |
|