Wanted: A Working ELF2IRX.

Discuss the development of software, tools, libraries and anything else that helps make ps2dev happen.

Moderators: cheriff, Herben

Post Reply
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Wanted: A Working ELF2IRX.

Post by ooPo »

So, what would be involved in making this happen? I know next to nothing about how an IRX file works or I'd just tackle it myself...
blackdroid
Posts: 564
Joined: Sat Jan 17, 2004 10:22 am
Location: Sweden
Contact:

Post by blackdroid »

You could always check out the buildsystem for ps2drv devices.
Kung VU
Guest

Post by Guest »

There's a rundown on the IRX file format somewhere I think in the Documents section of ps2dev.org. All it is is a relocatable ELF with an extra section that Sony uses.

If you go to freshmeat.net, there are a ton of ELF manipulation libraries and such that make it extremely easy to open an ELF file, add a few sections or scan through others, and write out the resulting ELF file. This is pretty much what you'd be doing with elf2irx, so you should check one out. I think the one I was looking at is called libelf or libmelf or something.

As we can see from the current elf2irx source, doing ELF parsing yourself is very errorprone :P.

-This was me, mrbrown.
nosense

elf2irx

Post by nosense »

So, why is elf2irx needed if the compiler can spit out irx's all on it's own??
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Re: elf2irx

Post by mrbrown »

nosense wrote:So, why is elf2irx needed if the compiler can spit out irx's all on it's own??
There are many compilers capable of generating ELFs for MIPS R3000. The only set that can generate the IRX format that the IOP expects are Binutils 2.9 and GCC 2.8.1 - these are the versions Karmix patched to generate IRXs.

elf2irx is needed for any other GCC/binutils that isn't patched. Getting the newer compilers patched is a work-in-progress.

Little known fact: If your tools can generate ECOFF, you can use those instead of IRXs on the IOP :P. You can even set your ECOFFS to load at an absolute address.
Post Reply