libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problem when cross compiling with mingw32ce


From: Vincent Torri
Subject: Re: problem when cross compiling with mingw32ce
Date: Sun, 5 Oct 2008 20:56:49 +0200 (CEST)



On Sun, 5 Oct 2008, Ralf Wildenhues wrote:

* Vincent Torri wrote on Sun, Oct 05, 2008 at 08:00:15PM CEST:

If with those settings, things still fail, you should surround the
func_win32_libid code in your libtool script with 'set -x', 'set +x'
and look at the commands called, when 'libtool --mode=link' is run.
Call them manually and inspect their output.  The comments in the
function explain what is expected.

I have run manually the commands of func_win32_libid():

$OBJDUMP -f libws2.a | sed  -e '10q'

In archive /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a:

duewbt.o:     file format pe-arm-wince-little
architecture: armv4, flags 0x00000038:
HAS_DEBUG, HAS_SYMS, HAS_LOCALS
start address 0x00000000


duewbh.o:     file format pe-arm-wince-little
architecture: armv4, flags 0x00000039:

But grep is used to check "i386", and not arm-wince-little.

Please post the output of
 /home/torri/local/opt/mingw32ce/bin/arm-mingw32ce-nm -B -f posix -A \
    /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a |
 sed 100q

Here is the result of

/home/torri/local/opt/mingw32ce/bin/arm-mingw32ce-nm -B -f posix -A 
/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a | sed 100q

[beginning]

/home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbt.o]: __libws2_a_iname I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .idata$2 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: __libws2_a_iname U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: _head_libws2_a I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: fthunk i 00000004 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbh.o]: hname i 00000004 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: __imp_socket I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00078.o]: socket T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: __imp_shutdown I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00077.o]: shutdown T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: __imp_setsockopt I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00076.o]: setsockopt T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: __imp_sethostname I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00075.o]: sethostname T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: __imp_sendto I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00074.o]: sendto T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: __imp_send I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00073.o]: send T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: __imp_select I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00072.o]: select T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .idata$4 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .idata$5 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .idata$6 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .idata$7 i 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: .text t 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: __imp_recvfrom I 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: _head_libws2_a U /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00071.o]: recvfrom T 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00070.o]: .bss b 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00070.o]: .data d 00000000 /home/torri/local/opt/mingw32ce/arm-mingw32ce/lib/libws2.a[duewbs00070.o]: .idata$4 i 00000000

[end]

and try the patch below.

it is working with the patch below. I have a beautiful dll, now :)

Now we need someone who knows about wince to tell us whether this is
the right thing to do.

I'll ask Pedro Alves, who is the lead dev of cegcc.

thank you very much !

Vincent Torri

2008-10-05  Ralf Wildenhues  <address@hidden>

        Fix import library detection for WinCE.
        * libltdl/config/ltmain.m4sh (func_win32_libid): Work for
        pe-arm-wince import libraries.
        Report by Vincent Torri.

diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 1a4a0ff..8300849 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -2167,7 +2167,7 @@ func_win32_libid ()
    ;;
  *ar\ archive*) # could be an import, or static
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+       $EGREP 'file format (pe-i386(.*architecture: i386)?|pe-arm-wince)' 
>/dev/null ; then
      win32_nmres=`eval $NM -f posix -A $1 |
        $SED -n -e '
            1,100{





reply via email to

[Prev in Thread] Current Thread [Next in Thread]