From: SourceForge.net <no...@so...> - 2006-11-09 20:44:25
|
Bugs item #1593307, was opened at 2006-11-10 00:07 Message generated for change (Comment added) made by dannysmith You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1593307&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: msys Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Vadim Zeitlin (vadz) >Assigned to: Benoit Blanchon (bblanchon) Summary: inconsistent -Wl,option paths handling Initial Comment: Situation, under MSYS, running bash: $ pwd /tmp $ mount | grep tmp T:\Temp on /tmp type user (binmode,noumount) $ cat v.c extern void foo(); $ ls -l /t/Temp/vs -rw-r--r-- 1 zeitlin Administ 38 Nov 9 11:49 /t/Temp/vs $ cat vs V_1_0 { global: *; }; Problem: $ g++ -shared -o v.dll v.c -Wl,--version-script,/t/Temp/vs d:\mingw32\3.4.2-20040916\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot open l inker script file /t/Temp/vs: No such file or directory collect2: ld returned 1 exit status And -Wl,--version-script,/tmp/vs gives the same error. But all of these commands work as expected: $ g++ -shared -o v.dll v.c -Wl,--version-script,vs $ g++ -shared -o v.dll v.c -Wl,--version-script,t:/Temp/vs $ g++ -shared -o v.dll v.c -Wl,--version-script=/tmp/vs $ g++ -shared -o v.dll v.c -Wl,--version-script,/t/Temp/vs IOW, everything works ok if -Wl,--version-script= is used but if comma is used instead of '=' then only the paths not starting with slash (or backslash) work. This is pretty weird and while the workaround is obvious once you know it and version script is useless under Win32 anyhow (but is still used by packages using configure to detect ld version-script option support -- why does mingw32 ld support it at all?), it still was not obvious to fix and it would be nice if it could work or at least fail with some intelligible error message. Thanks! Information about the system used: OS: Windows Server 2003 SP1 MINGW32_NT-5.2 NAMEDOESNTMATTER 1.0.10(0.46/3/2) 2004-03-15 07:17 i686 unknown sh --version GNU bash, version 2.04.0(1)-release (i686-pc-msys) Copyright 1999 Free Software Foundation, Inc. gcc -v Reading specs from d:/mingw32/3.4.2-20040916/bin/../lib/gcc/mingw32/3.4.2/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=min gw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --dis able-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --w ithout-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz ation --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.2 (mingw-special) ld -v GNU ld version 2.15.91 20040904 ---------------------------------------------------------------------- >Comment By: Danny Smith (dannysmith) Date: 2006-11-10 09:44 Message: Logged In: YES user_id=11494 Not mine. Danny ---------------------------------------------------------------------- Comment By: Vadim Zeitlin (vadz) Date: 2006-11-10 01:29 Message: Logged In: YES user_id=71618 I'm updating this bug because it turns out that exactly the same problem affects -Wl,--out-implib (works with '=' but not with ',') and this is much more serious as it can't be just avoided, unlike -Wl,--version-script. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1593307&group_id=2435 |