Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

binutils: Enable new dtags in a way that works with binutils 2.30. #43531

Merged
merged 1 commit into from Jul 24, 2018

Commits on Jul 19, 2018

  1. Enable new dtags in a way that works with binutils 2.30.

    In 3027bca, binutils was upgraded from 2.28.1 to 2.30. However, in 2.30,
    the ldmain.c file within binutils, which the nixpkgs new-dtags.patch
    file is meant to modify, was changed in such a way that the patch no
    longer works. As a result, the new dtags are not actually enabled, and
    binaries are built with RPATH set instead of RUNPATH, thereby preventing
    LD_LIBRARY_PATH from overriding this built-in path. This change corrects
    this. The patch file is no longer necessary because binutils's ldmain.c
    now sets link_info.new_dtags based on the configuration flags.
    
    This was probably not noticed immediately because, when the derivation
    is built with nix-build, the fixupPhase runs patchelf --shrink-rpath.
    patchelf converts any RPATH in the binary into RUNPATH (unless
    --force-rpath is specified).  Of course, if the binary is built without
    nix-build (such as in a nix-shell), this never occurs, and any RPATH in
    the binary is left in place.
    Rotaerk committed Jul 19, 2018
    Configuration menu
    Copy the full SHA
    b06b01f View commit details
    Browse the repository at this point in the history