Re: architecture dependant problems with ResMerger
Re: architecture dependant problems with ResMerger
- Subject: Re: architecture dependant problems with ResMerger
- From: Eric Albert <email@hidden>
- Date: Fri, 13 Apr 2007 00:44:43 -0700
It's been a long time since I worked on this, but here's what I
remember....
-ResMerger does use resource flippers when building on Intel. That's
because it has to read the resource from each file and then write out
the result, and whenever we read or write resources on Intel we flip
them. Technically it wouldn't have to do this because the resource
data itself is just a binary blob as far as merging resource files is
concerned, but that's just the way the code happened to work.
-Custom resource types naturally can't be flipped here, but as
described above it isn't really a concern.
-Flippers aren't supported on PowerPC, so there's no way to test this
there.
-The error message is probably valid. It's telling you that the WIND
flipper believes that your resource is shorter than a WIND resource
is supposed to be. If that WIND resource works on the system anyway,
it's a bug in the flipper. This happens from time to time -- some
parts of the system assume that if a resource is shorter than
expected the last fields are 0 and use that instead of reporting an
error. More often, though, it's a bug in the resource, and loading
that resource actually doesn't work.
Hope this helps,
Eric
On Apr 12, 2007, at 6:08 PM, Rua Haszard Morris wrote:
Interesting - it seems the intel build of ResMerger calls the
resource flippers or at least checks resource sizes. Does it do
this with custom resource types? It won't have access to any custom
flippers. Hmm.
Sounds like a good bug report for bugreporter.apple.com.
I just spend a few hours finding out that ResMerger behaves
differently on PPC than on i386, more specifically it does give
errors on Intel that it does not on PowerPC:
One of our resources fails when building on Intel with this error:
### /Developer/Tools/ResMerger ERROR:
errCoreEndianDataTooShortForFormat (resType 'WIND' ID 5)
Building the same project on PPC does not throw any errors
whatsoever. The resulting app will run fine on PPC Macs, but fail
the same error message on Intel.
I could find a post in the mailing list archives where this is
being explained with the byte swapping mechanism: http://
lists.apple.com/archives/xcode-users/2006/Sep/msg00344.html
Is there any way to make the PPC ResMerger complain about that
error too? Our main build machine is a PowerMac G5, and it would
be very beneficial if it could detect such errors.
Thanks,
Stefan
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden