[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Arm bof and raspbian.




On Tue, Sep 3, 2013 at 2:31 AM, Michael Cree <mcree@orcon.net.nz> wrote:
And how do you detect armv7 specific cpu instructions when you build
on armv7 infrastructure?  Is it possible to somehow limit a chroot to
trap on invalid armv6 instructions despite running on armv7?  Or do you
re-run test suites after successful builds on an actual Pi?

Cheers
Michael.
--

When building armhf packages for Raspbian, there are a few extra steps in the buildd process where by each binary file in the package containing code is checked with a Perl script to verify that it does not contain armv7 instructions.  We depend upon the fields in the elf file properly describing the code that was produced for each code segment in the file.  Any packages discovered to have armv7 are set aside by the script to be manually inspected.

Overall, this process is fairly effective.  I don't think it produces any false negatives.  However, certain type of binaries that dynamically determine the CPU type such as virtual machines and some types of interpreters (ie. _javascript_) will produce false positives.  These files can be manually passed along into the Raspbian repository as the armv7 code will by dynamically isolated at runtime.  There a handful of packages that specifically depend upon armv7 features (ie. debugging libraries and such) and these need to be kept from the Raspbian repositories.

Other than the process above, no attempt is made to verify the running of the package on actual armv6 hardware.  Thus far, such an extra step hasn't been warranted given the extra effort it would take to implement.

Plugwash may have additional information to add since he's been revamping the entire Raspbian build process and what I'm describing is how things worked for the initial release of Raspbian.

Mike Thompson


Reply to: