Skip to content

Allow binary relocation of strings in relative binaries#13724

Merged
scheibelp merged 2 commits intoreleases/v0.13from
bugfix/release-0.13-fix-binary-relocation
Nov 14, 2019
Merged

Allow binary relocation of strings in relative binaries#13724
scheibelp merged 2 commits intoreleases/v0.13from
bugfix/release-0.13-fix-binary-relocation

Conversation

@becker33
Copy link
Copy Markdown
Member

Binaries with relative RPATHS currently do not relocate strings hard-coded in binaries

This PR extends the best-effort relocation of strings hard-coded in binaries to those whose RPATHs have been relativized.

A separate PR will be made to the develop branch

Copy link
Copy Markdown
Member

@scheibelp scheibelp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is one variable reference issue and I have a couple comments on clarity.

if not rel:
if rel:
if old_path != new_path:
files_to_relocate = list(filter(
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit much to unpack. I think the filter function ought to be defined separately.

Also, should we report those members of relocate_binaries that are not in fact relocatable?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We get a lot of false positives for inability to relocate, because lots of things have paths hardcoded in their dwarf info or elsewhere that do not affect correctness. That's why I switched to a single warning per-package.

@scheibelp scheibelp merged commit b280034 into releases/v0.13 Nov 14, 2019
tgamblin added a commit that referenced this pull request Dec 5, 2019
v0.13.2

This release contains major performance improvements for Spack environments, as well as some bugfixes and minor changes.

* allow missing modules if they are blacklisted (#13540)
* speed up environment activation (#13557)
* mirror path works for unknown versions (#13626)
* environments: don't try to modify run-env if a spec is not installed (#13589)
* use semicolons instead of newlines in module/python command (#13904)
* verify.py: os.path.exists exception handling (#13656)
* Document use of the maintainers field (#13479)
* bugfix with config caching (#13755)
* hwloc: added 'master' version pointing at the HEAD of the master branch (#13734)
* config option to allow gpg warning suppression (#13744)
* fix for relative symlinks when relocating binary packages (#13727)
* allow binary relocation of strings in relative binaries (#13724)
tgamblin added a commit that referenced this pull request Dec 5, 2019
v0.13.2

This release contains major performance improvements for Spack environments, as well as some bugfixes and minor changes.

* allow missing modules if they are blacklisted (#13540)
* speed up environment activation (#13557)
* mirror path works for unknown versions (#13626)
* environments: don't try to modify run-env if a spec is not installed (#13589)
* use semicolons instead of newlines in module/python command (#13904)
* verify.py: os.path.exists exception handling (#13656)
* Document use of the maintainers field (#13479)
* bugfix with config caching (#13755)
* hwloc: added 'master' version pointing at the HEAD of the master branch (#13734)
* config option to allow gpg warning suppression (#13744)
* fix for relative symlinks when relocating binary packages (#13727)
* allow binary relocation of strings in relative binaries (#13724)
@tgamblin tgamblin deleted the bugfix/release-0.13-fix-binary-relocation branch December 24, 2019 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants