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] |
Bin Zhou wrote: > > The mixed linking works if I put -B everywhere with the linking options, > like: > > $binzhou>gcc -Bstatic -o my_binary <my_objs> -lc -Bdynamic -ldl -Bstatic I forgot to use the '-Wl,-Bdynamic' etc. in my example, which was my original purpose... I understood from the FAQ that the '-Bdynamic' and the '-Bstatic' could be used as 'mode-switchers' when linking. If they are given on the GCC-command line, it is hard to say what happens on the linker command. Anyway there are the '-v' option for 'gcc' and the '-verbose' option for the GNU linker, and these show what happens. Ok, my new suggestion would however to be to add the following: %{static:-Bdynamic -ldl -Bstatic} %{!static:-ldl} after the '-lc' in the '*lib:'-spec in the 'specs'-file (The old one suggested only the latter part)... Then the '-ldl' will be 'wrapped' between '-Bdynamic' and '-Bstatic' on the command line for the linker. > Unfortunately, the size of the target file created in this way is exactly > the same as the size of target created by linking everything dynamically. I tried my new suggestion and the result was a little bigger than the static-only executable for my 'tprintf' program, which doesn't use the 'dl*'-functions anywhere (or the library functions it takes from 'libc.a'). Directory of H:\usr\local\samples 02.11.2001 14:27 10 313 tst_sol2-d.x 02.11.2001 14:02 304 725 tst_sol2-s.x 06.11.2001 11:58 305 960 tst_sol2.x The 'objdump -p' shows it needing only the 'libdl.so.1' at run-time: --------- clip --------------- Dynamic Section: NEEDED libdl.so.1 INIT 0x1023c FINI 0x335e0 HASH 0x100e8 STRTAB 0x1019c SYMTAB 0x1011c STRSZ 0x70 SYMENT 0x10 --------- clip --------------- Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |