Ralf Corsepius wrote:
On Wed, 2007-06-06 at 12:04 +0100, Andy Green wrote:
> Ralf Corsepius wrote:
>> On Wed, 2007-06-06 at 09:36 +0100, Andy Green wrote:
>>> Andy Green wrote:
>> If host and target object format differ, rpmbuild bombs out.
> I have never experienced that, so I guess it must be okay for all the
> packages I addressed, at least. And that includes some big stuff like
> db4, postfix, asterisk, gdb, linux itself...
As soon as you have several different object formats at the same time
inside of than rpm, rpmbuild fails, no matter how you override.
This is a highly unusual situation though... but I accept what you're
saying about that for the toolchains.
>>> defnitely debuginfo rpms are generated and work fine on
arm
>>> with gdb.
>> Not unlikely, but you should check your buildlogs for error/warning
>> messages and your resulting rpms for correctness.
> My scripts will stop dead if rpmbuild chokes so I am pretty sure none of
> my packages so far fell into this unusual category of building and
> packaging apps compiled for both host and target.
Well, all packages you mention above are "host only" (==target in rpms'
nomenclature) packages. You manage to get this working by overriding all
tools being used to "build->host cross-tools".
Things get really ugly, when building native cross-tools (such as the
avr* tools) and when cross-rpmbuilding cross-tools (e.g.
rpmbuild --target=<non-native-distro> avr-gcc).
In these cases you'll have different object formats inside of one rpm at
the same time.
Can't there be a simple answer to this? Set %__strip to a script that
first assesses the ELF arch using objdump and then calls through to the
appropriate strip?
I see that i386 Fedora objdump says that the arm executables are of
"unknown" arch, but my arm-linux-objdump recognizes them as "arm".
It
would be a bit clunky but the basic idea of redirecting to the correct
strip based on the ELF arch will sort it out if I understood it.
-Andy