Skip to main content

Code style: black Travis (.com) branch PyPI version PyPI pyversions

🔍 arm-float-detector

Utility to detect soft float/double math library inclusion in arm binaries (objects/archives/elfs).

# install
$ pip install arm-float-detector

# run
$ arm-float-detector --double a.out && echo OK
No soft double libs found!
OK

Requirements

Besides python, needs the nm utility. If you're on *nix, you probably have it.

What is this

Some processors do not have single- and/or double-precision floating point hardware, but instead rely on float math software libraries, which are relatively slow and add take up additional space in the application.

Unfortunately I can't find options for gcc/ld to detect and prohibit (eg warnings/errors/configuration options) using these functions; I believe the definitions are in the compiler somehow (TODO actually research this).

This utility enables detecting usage of this soft floating point libraries in binaries, suitable for being integrated into a CI check to prevent them.

Features

  1. detect presence of single- or double-precision soft floating point libraries
  2. TODO whitelist objects allowed to reference these libs (eg vsprintf)
  3. TODO enable printing objects containing the references for simpler elimination

NOTE only tested on linux, where grep supports -E 'string|string'. You use a mac, good for you, no idea if this will work there. Dependency on grep will probably be removed in the future.

Metadata

Release files for arm-float-detector 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arm-float-detector 0.3.0
File Size Uploaded Provenance Actions
arm-float-detector-0.3.0.tar.gz 4.1 kB Without provenance Details for arm-float-detector-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for arm-float-detector 0.3.0
File Interpreter ABI Platform Actions
arm_float_detector-0.3.0-py2.py3-none-any.whl Python 3, Python 2 none any Details for arm_float_detector-0.3.0-py2.py3-none-any.whl

Total release size: 8.5 kB

Release files / arm-float-detector-0.3.0.tar.gz

Download URL arm-float-detector-0.3.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1cbf74c71900152acf5c9d75a6c80e03a580abd197e1781b3565fe18983f94d9
BLAKE2b-256 checksum
How to use checksums
602d5b593659fe0af628c5d0b43a36832ae6d17e0d320255884e3305b35f748c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

Release files / arm_float_detector-0.3.0-py2.py3-none-any.whl

Download URL arm_float_detector-0.3.0-py2.py3-none-any.whl
Size 4.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
03d44f36bdefc92ebfa41e123280ac98dae8a0cbef73fd3810639a385056f7ec
BLAKE2b-256 checksum
How to use checksums
79b5905179ec2506374395225b219b0a85cfeb5d0e78a39c82ccf58fad50d75d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

Security for arm-float-detector 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page