stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <>
Subject Re: [jira] Resolved: (STDCXX-489) [Intel C++ 10.0/Linux] BUILDMODE=narrow has no effect
Date Wed, 18 Jul 2007 20:22:03 GMT
Andrew Black (JIRA) wrote:
>      [
> Andrew Black resolved STDCXX-489.
> ---------------------------------
>     Resolution: Invalid
> Greetings Mark.
> I'm closing this issue as 'Invalid', as the cause of the problem is your environment.
> Unlike most other compilers, the Intel compiler doesn't have a command line switch to
control whether the generated executables are 32 or 64 bit.  Rather, there are two separate
executables, one 32 bit, and one 64 bit.  (The only other compilers I can think of with this
behavior are Visual Studio and the Intel Compiler for Windows.)
> To produce a 32 bit executable with the Intel compiler, you will need to use the correct to set up your environment.  

Hmm. The manual mentions the -m32 and -m64 options but they're only
supported on Mac OS and not on Linux or Windows. Weird. But if the
compiler really doesn't provide any options to control the word
width on Linux we shouldn't just silently ignore a request to
generate code that we can't generate with the compiler. We should
fail with an error. I thought we did that for other compilers but
I could be wrong (clearly we don't with Intel C++).


> This quirk of the Intel compiler has caused problems for me also.  If you have an Intel
Premier account, was a support
request I filed asking for assistance on this subject.
> --Andrew Black
>> [Intel C++ 10.0/Linux] BUILDMODE=narrow has no effect
>> -----------------------------------------------------
>>                 Key: STDCXX-489
>>                 URL:
>>             Project: C++ Standard Library
>>          Issue Type: Bug
>>          Components: Configuration
>>    Affects Versions: 4.2
>>         Environment: Intel C++ 10 on Linux
>>            Reporter: Mark Brown
>> Configuring stdcxx for 32-bits using BUILDMODE=pthreads,archive,optimized,narrow
on x86_64 I see the system architecture is "LP64 little endian" instead of "ILP32 little endian."
It looks like the "narrow" in BUILDMODE has no effect, kind of like "wide" had no effect in
bug STDCXX-470.
>> $ nice make BUILDDIR=/home/mbrown/stdcxx-icc-10.0-12s BUILDMODE=pthreads,archive,optimized,narrow
>> creating BUILDDIR=/home/mbrown/stdcxx-icc-10.0-12s
>> generating /home/mbrown/stdcxx-icc-10.0-12s/ from /home/mbrown/stdcxx/etc/config/icc.config
>> make[1]: Entering directory `/home/mbrown/stdcxx-icc-10.0-12s'
>> make[2]: Entering directory `/home/mbrown/stdcxx-icc-10.0-12s/include'
>> make config
>> make[3]: Entering directory `/home/mbrown/stdcxx-icc-10.0-12s/include'
>> configuring stdcxx 4.2.0 for icc-10.0 on linux-2.6.18-1.2798.fc6-x86_64
>> checking if the compiler is sane                   ok (invoked with icc)
>> checking if the linker is sane                     ok (invoked with icc)
>> checking system architecture                       LP64 little endian

View raw message