This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Sure, first here is the output of "make -n" for the build: zetar% make -n make config=dbgthreads -f Makecommon HelloWorld.dll make[1]: Entering directory `/a/zetar/craigv/sarmwinceb/vbx/src/jnidll' arm-wince-pe-gcc -c -I/usr/local/include/java -I/usr/local/include/java/win32 -I -march=armv4 -DSARM -DWIN32 -DNEWLIB -DGNUWINCE -DALIGN64 -DLITENDIAN -DARM -D_ARM_ -fno-exceptions -O0 -DDEBUG -Dpthreads -D_MT HelloWorld.cc arm-wince-pe-ld -s --dll --subsystem wince:3.00 -e _DllMain --base-file HelloWorld.base -o HelloWorld.dll HelloWorld.o -L/a/zetar/craigv/sarmwinceb/lib -L/usr/local/wince/arm-wince-pe/lib -L/usr/local/wince/lib/gcc-lib/arm-wince-pe/3.2 -lsupc++ -lm -lc -lwinsock -lcoredll -lgcc arm-wince-pe-dlltool --verbose -dllname HelloWorld.dll --def HelloWorld.def --base-file HelloWorld.base --output-exp HelloWorld.exp arm-wince-pe-ld -s --dll --subsystem wince:3.00 -e _DllMain --base-file HelloWorld.base HelloWorld.exp -o HelloWorld.dll HelloWorld.o -L/a/zetar/craigv/sarmwinceb/lib -L/usr/local/wince/arm-wince-pe/lib -L/usr/local/wince/lib/gcc-lib/arm-wince-pe/3.2 -lsupc++ -lm -lc -lwinsock -lcoredll -lgcc arm-wince-pe-dlltool --verbose --dllname HelloWorld.dll --def HelloWorld.def --base-file HelloWorld.base --output-exp HelloWorld.exp arm-wince-pe-ld -M --dll --subsystem wince:3.00 -e _DllMain HelloWorld.exp -o HelloWorld.dll HelloWorld.o -L/a/zetar/craigv/sarmwinceb/lib -L/usr/local/wince/arm-wince-pe/lib -L/usr/local/wince/lib/gcc-lib/arm-wince-pe/3.2 -lsupc++ -lm -lc -lwinsock -lcoredll -lgcc > map 2>&1 make[1]: Leaving directory `/a/zetar/craigv/sarmwinceb/vbx/src/jnidll' Second I have attached an updated archive for gnuwince-jnidll.tar.bz2. I didn't realize it, but the example was a little bit out of date - we're using "newlib" for the C runtime these days. The new version of the example reflects this difference, and includes the link map and the HelloWorld.base file that you're interested in. We had to do a fair amount of work to get GCC working properly for the arm-wince-pe target. It sounds like your configuration may not be "quite there" yet.. Let me know if I can help. By the way, what exactly *is* your target platform anyhow? Are you running wince? craig On Wed, 2003-03-26 at 21:18, longchuan wrote: > Hi craig: > Firstly, i want to say thanks to you and Kai Ruottu. > > I think the key point is the .base. > Documents said that this file contains relocation info and is > generated by ld.exe. I have try your 5 step after compiled .cc file, > but my arm-pe gcc seems doesn't create such base file, just create a > file with the expected name but zero size at step 1. This also happen to > my mingw32 win32 target gcc. > > So I wonder if is only meaningful for arm-wince-pe target? > > By the way, dlltool create export file for dll does contain relocation > info, i assume > this by objdump -x xxx.exp, the header information said it HAS_RELOC, > HAS_DEBUG, HAS_SYMS, HAS_LOCALS > why this .base file necessary? seemed that ld strip such info by > default. > > Could you copy and paste the output of "make -n"? > you know , i working under win2k, i try to run make > script from cygwin but some macro is not expended, > i wonder if there is any special option of ld to create .base file. > this is the actual command line i run for step 1. > ld --dll --subsystem console --base-file helloworld.base -o > helloworld.dll HelloWorld.o > you know, get a zero size file helloworld.base. :(( > > Any ideas? > > Meanwhile , i would download and run wince-pe toolchain on Linux > to see what is going on. > > regards > wreckor > > > -----Original Message----- > > From: Craig A. Vanderborgh [mailto:craigv at voxware dot com] > > Sent: Wednesday, March 26, 2003 22:34 > > To: longchuan > > Cc: crossgcc at sources dot redhat dot com > > Subject: Re: problem create shared dll and -shared option > > > > > > Hello, > > > > We got dll's using GCC compiled with arm-wince-pe working last year. > > The main trick is that the "-shared" option does not work > > correctly for the arm-wince-pe target. With the help of Kai > > Ruotto (on crossgcc) we arrived at the conclusion that a > > special 5 step linking process is required to create dll's > > with the relocations done properly on arm-wince-pe. > > > > I have attached an example (with an all-important > > "project.mk") that shows you how to do the link so that the > > result will run on wince. This example creates a "Hello > > World" type of thing that can function as a JNI component for > > java. We hope this helps you. > > > > Also, a fully operational toolchain for arm-wince-pe > > (gcc-3.2/binutils2.13) is available "ready-to-run" for > > x86linux (RedHat 7.1+). Just make sure you have "-march" set > > for your platform. You can get the toolchain from this url: > > > > http://www.atomiser.org/open_source_wince/wincegcc031303.tar.bz2 > > > > This toolchain will build an operational dll from the sources > > I've attached. > > > > regards, > > craig vanderborgh > > voxware incorporated > > ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe at sources dot redhat dot com
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |