Skip to content

master: amd64: save/restore all 64 bits of rbx around cpuid #2679

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

Merged
merged 1 commit into from
Jan 10, 2017

Conversation

hjelmn
Copy link
Member

@hjelmn hjelmn commented Jan 7, 2017

This commit fixes a bug in the timer check. When -fPIC is used we need
to save/restore ebx. The code copied from patcher was meant for 32-bit
systems and did not work correctly on 64-bit systems. This commit
updates the save/restore to use rbx instead of ebx.

Fixes #2678

Signed-off-by: Nathan Hjelm [email protected]

This commit fixes a bug in the timer check. When -fPIC is used we need
to save/restore ebx. The code copied from patcher was meant for 32-bit
systems and did not work correctly on 64-bit systems. This commit
updates the save/restore to use rbx instead of ebx.

Fixes open-mpi#2678

Signed-off-by: Nathan Hjelm <[email protected]>
@hjelmn hjelmn changed the title amd64: save/restore all 64 bits of rax around cpuid amd64: save/restore all 64 bits of rbx around cpuid Jan 7, 2017
@hppritcha hppritcha added this to the v2.0.2 milestone Jan 7, 2017
@hppritcha
Copy link
Member

@hjelmn please open PR on 2.0.2 and assign to me.

@hjelmn
Copy link
Member Author

hjelmn commented Jan 7, 2017

@hppritcha Will do. Will also open vs 1.10.x and 2.x

@hjelmn
Copy link
Member Author

hjelmn commented Jan 7, 2017

@hppritcha Wonder if CI should test optimized builds as well. Might have caught this sooner. Not even sure why the CTS-1 build worked.

@hjelmn
Copy link
Member Author

hjelmn commented Jan 7, 2017

@hppritcha LANL CI looks like it is offline.

@ggouaillardet
Copy link
Contributor

:bot:lanl:retest

@hppritcha
Copy link
Member

@hjelmn I'll modify one of the UH projects to use -O3. It would have caught this.

@jsquyres jsquyres changed the title amd64: save/restore all 64 bits of rbx around cpuid v2.0.2: amd64: save/restore all 64 bits of rbx around cpuid Jan 9, 2017
@jsquyres jsquyres changed the title v2.0.2: amd64: save/restore all 64 bits of rbx around cpuid master: amd64: save/restore all 64 bits of rbx around cpuid Jan 9, 2017
@hjelmn hjelmn merged commit 3593fad into open-mpi:master Jan 10, 2017
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.

PR #2596 introduced regression when configuring with -O3 optimization
3 participants