x64 Fortran calling C, attempts to link bufferoverflowu.lib

x64 Fortran calling C, attempts to link bufferoverflowu.lib

I think it has been over a year since a similar subject came up, and I can't recall what posted information might relate to this question. On XP64, in a command line link, where Fortran calls C, the link fails until /Qipo- /link /nodefaultlib:bufferoverflowu.lib is set. Can this be corrected in configuration, e.g. in ifort.cfg ?
The problem doesn't occur when Fortran calls C++ code. Everything is compiled with ifort and icl 10.1.013, linked with "compatibility" OpenMP library and the VC9 components. Apparently, there is no bufferoverflowu.lib in the VC9 installation, nor is there any apparent use for it. The nodefaultlib directive is ignored if /Qipo- is omitted:

ifort -O3 -Qopenmp -assume:protect_parens -Qopenmp-lib:compat -Qfpp -Qlowercase
-us -Qipo- mains.obj loopsv.obj f90_msrdtsc.obj /link /nodefaultlib:bufferoverflowu.lib

mains.obj is an ifort compilation; the others are compiled by icl.

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Well, there's not yet official support of VC9. Have you tried adding /Qvc9 to the compile commands?

Tim, let me suggest that you report this through the normal support channels if /Qvc9 doesn't help.

Retired 12/31/2016

My compile script was using VC9 (without setting /GL-) instead of ICL, to make the C object. The fact that the linker was attempting IPO should have been a clue.

Leave a Comment

Please sign in to add a comment. Not a member? Join today