It's a difference in memory model.

clang 6.0.0 under ubuntu with --target=x86_64-pc-cygwin gives relative addresses, unless you specify -mcmodel=large.

Cygwin clang with -mcmodel=small does the right thing: use relative addresses.

The -mcmodel=small option appears to work differently for Linux and for Windows targets. I cannot find any documentation of this difference. See:

https://bugs.llvm.org/show_bug.cgi?id=42983


On 12/08/2019 11.45, falk.tannhau...@free.fr wrote:
References: <578eb489-9391-9009-82ad-676eeb4c1...@agner.org>
In-Reply-To: <578eb489-9391-9009-82ad-676eeb4c1...@agner.org>

Could the different behaviour between Cygwin and Linux simply be due to 
different Clang versions?
The current version under Cygwin is 5.0.1, while the latest version available 
under Linux
appears to be 8.0.1 .

Falk

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to