Skip to content

binutils 2.47 gives the kernel a bogus AS_VERSION #70

Description

@tamnd

The binutils 2.47 tarball we pin builds an assembler that reports itself as GNU assembler (GNU Binutils) 2.47.20260726. The kernel's scripts/as-version.sh splits the version on dots and computes 10000 * major + 100 * minor + patch, so the date is read as the patch level and every cell built with binutils 2.47 gets CONFIG_AS_VERSION=20285426 and CONFIG_LD_VERSION=20285426.

Seen first on 7.2.8 x86_64 with gcc-13.5.0, whose bundle pairs it with binutils 2.47, in the new reports/config-differential.md (#69).

Every AS_VERSION >= and LD_VERSION >= test in the tree passes with a value that large, so nothing fails today. A test the other way round, or a range, would go wrong.

To do:

  • Check whether the released binutils-2.47.tar.xz really carries a dated version or whether our build adds it (the bfd/version.h date and BFD_VERSION_STRING).
  • If it is upstream, find the kernel commit that handles it, if any, and list the Current kernels that misread it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/forgeBuilding GCC and binutils bundles from release tarballskind/findingA measured result worth writing up, such as a new edge or a hole

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions