
K. Noel Belcourt wrote:
Hi Volodya,
On Mar 24, 2008, at 11:49 PM, Vladimir Prus wrote:
K. Noel Belcourt wrote:
(3) The address-model property in intel-darwin.jam isn't properly configured. I've attached a patch to fix tools/build/v2/tools/intel- darwin.jam to make this work with address-model=32,64.
Why you've left -mcmodel=small commented out? Does this option actually exist, and if so, is it good for anything? Or -m32/-m64 make this option unnecessary.
When I first added the intel-darwin toolset, the -m32/-m64 options were not documented and the only option I could find that dealt with the address model was the -mcmodel option. I've since discovered that, though undocumented in the older intel compilers, the intel compilers do support -m32/-m64.
I think that address-model=32,64 maps most closely to -m32/-m64 so that's why I removed the mcmodel option.
-- Noel
[ Documentation of the -mcmodel option in intel-10.0 ]
-mcmodel=<mem_model> (i64em) Tells the compiler to use a specific memory model to generate code and store data. Default is - mcmodel=small. Possible <mem_model> values are:
small -- Restrict code and data to the first 2GB of address space. Use relative addressing.
medium -- Restrict code to the first 2GB. Code access uses IP-relative addressing, but data accesses require absolute addressing.
large -- Places no memory restriction on code or data. All accesses of code and data must be done with absolute address- ing.
I wonder if -m64 without any additional options limits code and data to 2GB? That would be not very logical, but I'm not sure. - Volodya Hmm. Presumably, -m64