"Wright, David" wrote:
Hi Dave,
This seemed like the perfect opportunity to ask if this proves
there might be a market for my cross-compilation additions to
crash.
Maybe you and the MontaVista guys could get together
and come up with a common cross-compilation plan.
Not the byte-swapping stuff. The lack of hosannas from your
end has caused me to tearfully conclude that I didn't make the
cut.
So let me propose a couple of things:
1) How about if I just submit my diffs that allowed for
cross-compilation of the x86 version on a 64-bit platform?
Plus any bug fixes or other minor amendations I had?
I guess I missed that part. I thought the patch was only for
supporting the MIPS 4000 on a 32-bit x86 platform? If you're
only talking about supporting x86 on x86_64, why bother?
2) I might have a better solution to this whole "how to do
byte-swapping, where needed, without confusing everything
in sight?" A partial solution, anyway.
The model would be based on the difference between malloc
and calloc calling sequences. With malloc, you just specify
the length you want. With calloc, you specify a number of
items and the length of each item.
We could have a readmem variant that incorporates the calloc
style. Don't specify a length, specify an item count and an
item length. Then the byte swappers could hook into this,
but ordinary code would still do a readmem-style thing.
Would this be any better?
I suppose you could encode a whole bunch of stuff into the current
readmem()'s "error_handle" flag. It only uses 3 bits now, and it seems
that there would only be a need for one readmem(), which could do all manner
of different things based upon the byte-swapping or whatever flags,
all of which could be conditionally no-op flags for non-cross-compiled
versions.
Dave