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

fix Issue 12092 - Wrong TLS access in PIC code (X86_32) #4223

Merged
merged 3 commits into from Dec 31, 2014

Conversation

MartinNowak
Copy link
Member

  • fix code sequence to access TLS variables in 32-bit PIC code
  • currently uses text relocations

Issue 12092 – Wrong TLS access in PIC code (X86_32)

- Use RI_TYPE_TLS_GD (general dynamic) to access global
  TLS symbols in PIC code.
- It has to use SIB addressing for the LEA instruction
  to make room for linker optimizations.
@ibuclaw
Copy link
Member

ibuclaw commented Dec 30, 2014

Seems reasonable.
@MartinNowak - I know this is offtopic a little, but should we have a talk about setting goals for representing D types/modules/etc. in debug sometime soon?

If we can have all compilers at parity with anything that requires specific knowledge of how D works, then any improvements I make on the gdb side will help everyone.

@MartinNowak
Copy link
Member Author

but should we have a talk about setting goals for representing D types/modules/etc. in debug sometime soon?

Sure, how about here https://issues.dlang.org/show_bug.cgi?id=11660.

WalterBright added a commit that referenced this pull request Dec 31, 2014
fix Issue 12092 - Wrong TLS access in PIC code (X86_32)
@WalterBright WalterBright merged commit 5544787 into dlang:master Dec 31, 2014
@MartinNowak MartinNowak deleted the fix12092 branch January 2, 2015 22:13
@9rnsr
Copy link
Contributor

9rnsr commented Jan 4, 2015

Maybe this PR introduces the Linux 32bit link failure in test/runnable/s2ir.d.
https://auto-tester.puremagic.com/?projectid=1

(Strangely, the failure does not appear in pull request testers)

@yebblies
Copy link
Member

yebblies commented Jan 4, 2015

(Strangely, the failure does not appear in pull request testers)

That could be because the pull testers don't run the full set of compiler switch permutations. I think this would be the first time running the full permutations actually caught a bug that the fast mode missed.

@MartinNowak
Copy link
Member Author

Maybe this PR introduces the Linux 32bit link failure in test/runnable/s2ir.d.

Yeah, will look at it.

@9rnsr
Copy link
Contributor

9rnsr commented Jan 5, 2015

Yeah, will look at it.

Thank you.

@MartinNowak
Copy link
Member Author

#4253

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants