[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-11-17 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #8 from cqwrteur  ---
Created attachment 51827
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51827=edit
Patch for fixing this issue

LOL. it bloats my mind. WHY WHY WHY are

 # DLL is installed to $(libdir)/../bin by postinstall_cmds

Twice in libstdc++'s configure?

We need a full-on cleanup on GCC source, please.

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-10-17 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #7 from cqwrteur  ---
This is incorrect when we canadian build multilib. unfortunately.

I find this is an issue for not just libstdc++, but libaotmic, libssp etc too.
This script is clearly just not right. It should only copy DLLs from lib not
from lib32. and copy DLLs of 32bit to /lib32

  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
  dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo
\$dlname'\''`~
  dldir=$destdir/`dirname \$dlpath`~
  test -d \$dldir || mkdir -p \$dldir~
  $install_prog $dir/$dlname \$dldir/$dlname~
  chmod a+x \$dldir/$dlname~
  if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  dlpath=$dir/\$dldll~
   $RM \$dlpath'
shlibpath_overrides_runpath=yes

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-10-04 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #6 from cqwrteur  ---
(In reply to cqwrteur from comment #5)
> actually a lot of dlls are not copied correctly.
> 
> libstdc++-6.dll libatomic.dll libquadmath.dll libssp.dll are all copied with
> 32 bit dlls.
> 
> And libgcc_seh.dll is not copied.
> 
> I think the copy to bin behavior should be removed. It should be just like
> normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.

or just provide a toggle for not copying DLLs. thank you

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-09-10 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #5 from cqwrteur  ---
actually a lot of dlls are not copied correctly.

libstdc++-6.dll libatomic.dll libquadmath.dll libssp.dll are all copied with 32
bit dlls.

And libgcc_seh.dll is not copied.

I think the copy to bin behavior should be removed. It should be just like
normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-07-19 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #4 from cqwrteur  ---
is this bug fixed?

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-05-04 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #3 from cqwrteur  ---
Created attachment 50755
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50755=edit
config.log

config log file

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-05-04 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #2 from cqwrteur  ---
about gcc itself.

since gcc is compiled with -static-libgcc -static-libstdc++, it should not be a
problem tbh.

[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs

2021-05-04 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427

--- Comment #1 from cqwrteur  ---
I think this is probably the reason why I got the last error, because canadian
cross toolchains install the wrong multilibs for dlls.

I personally suggest libstdc++-6.dll should install in /lib just like Linux or
other POSIX compliant systems are doing. Or of course, it will break multilibs.

Just add /lib or /lib64 to the environmental variable list on windows or in the
registry with wine, it will work correctly and the operating system will find
out the correct dll for both 32bit and 64bit libstdc++-6.dll