Skip to content

Build with --disable-elf-tls doesn't disable tls #32047

New issue

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

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

Already on GitHub? # to your account

Closed
rillian opened this issue Mar 4, 2016 · 5 comments
Closed

Build with --disable-elf-tls doesn't disable tls #32047

rillian opened this issue Mar 4, 2016 · 5 comments
Labels
O-macos Operating system: macOS

Comments

@rillian
Copy link
Contributor

rillian commented Mar 4, 2016

Sorry for not testing this earlier, but the no-tls builds we were doing for gecko seem to be broken in 1.7.0.

If I set MACOSX_DEPLOYMENT_TARGET=10.7 and configure --disable-elf-tls as before, the resulting build uses thread-local storage:

 15:57:48 INFO - ld: targeted OS version does not support use of thread local variables in __ZN10sys_common11thread_info14current_thread20h4ec593d7ee7ff5477SsE for architecture x86_64

So it seems like --disable-elf-tls is broken. The target_thread_local changes in #30417 added MACOSX_DEPLOYMENT_TARGET-based detection. However, it seems building against a 10.6 target also doesn't work:

$ MACOSX_DEPLOYMENT_TARGET=10.6 ./configure --prefix=_dist/rustc --target=x86_64-apple-darwin,i686-apple-darwin --disable-docs
[...]
$ MACOSX_DEPLOYMENT_TARGET=10.6 make -j8
[...]
clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)

Is there an sdk I'm missing or has llvm dropped 10.6 support?

@rillian
Copy link
Contributor Author

rillian commented Mar 4, 2016

Building with MACOSX_DEPLOYMENT_TARGET=10.6 doesn't work in rust 1.6 either, so the issue is just that --disable-elf-tls doesn't work any more.

@alexcrichton
Copy link
Member

Yeah with #30417 the --disable-elf-tls option was basically obsoleted as the environment variable is the way to control it now. We may need to change how we compile/link LLVM to work with 10.6, however.

@rillian
Copy link
Contributor Author

rillian commented Mar 10, 2016

There's another proposal to stop supporting MacOS X 10.6 is Firefox this year, with a timeframe which should let us stay on rustc 1.6 for supporting those builds, so we may not need to address this.

https://groups.google.com/forum/#!topic/mozilla.dev.platform/gXZj0rQWEfI

Is anyone besides gecko supporting this target?

@alexcrichton
Copy link
Member

I don't believe so, no

@Mark-Simulacrum
Copy link
Member

configure still accepts this, but I don't think it's read anywhere else within Rust, since ripgrep doesn't return any results... I'm going to close this, but please do reopen if this is still a problem.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
O-macos Operating system: macOS
Projects
None yet
Development

No branches or pull requests

4 participants