During make I get several instruction errors for push, pushl, pop, and popl
 at atomic-asm.S , which is included indirectly in asm.c .  For example,
for the first reported "Error", the instruction

pushl  %ebp

apparently generates the error message

atomic-asm.S:5: Error: invalid instruction suffix for `push'

There are several more Error messages like that.

---

And the instruction

push    %ebx

apparently generates the error message

atomic-asm.S:64: Error: operand type mismatch for `push'

---

And the instruction

pop   %ebx

apparently generates the error message

atomic-asm.S:68: Error: operand type mismatch for `pop'

---

And the instruction

popl  %ebp

apparently generates the error message

atomic-asm.S:75: Error: invalid instruction suffix for `pop'

-----------------------------------------------

It seems worth noting that make does a symbolic link involving "atomic-asm.S"
immediately before the processing of this file, which generates the errors,
but the configure output reports

checking whether ln -s works... no, using cp -p

as if symbolic links will not be used.

----------------------------------------

The configure output was generated by executing the script file "
mpiconfigure" via command

*$ mpiconfigure  &>  openmpi-1.6.5_configure.out*

"mpiconfigure" executes

*export LD_LIBRARY_PATH=/c/MinGW64/lib/gcc/x86_64-w64-mingw32/4.6.1*

just before executing ./configure ... so that I won't forget to set
LD_LIBRARY_PATH
. 

The make command used was

*$ make -j 2     &>  make_-j_2.out*

I am using the Mingw MSYS 1.0 command-window/bash in a Windows 7
environment for processing the commands.

The compilers are Mingw 64-bit as reported in config.log ; these are not
"official" Mingw compiler versions, but supposedly are very nearly so --
see http://tdm-gcc.tdragon.net/ for details:

configure:5375: gcc --version >&5
gcc.exe (tdm64-1) 4.6.1

configure:15880: g++ --version >&5
g++.exe (tdm64-1) 4.6.1

configure:28191: gfortran.exe --version >&5
GNU Fortran (tdm64-1) 4.6.1

The processor is an Intel Sandybridge i5, with capability for parallel
execution of four threads.

My guess is that these errors are due simply to a mismatch between the
assembly instructions gcc can understand and the assembly instructions that
OpenMPI assumes gcc can understand.

Is there some flag I can set to tell gcc that a particular assembly
language (dialect) is being used?  And, if so, can I set it for make
without having to re-run configure?

-- 
*- Richard Haney*
*
*

<<attachment: mpiconfigure.zip>>

<<attachment: openmpi-1.6.5_configure.zip>>

<<attachment: config.zip>>

<<attachment: make_-j_2.zip>>

Reply via email to