linking stripped object files
Chin Chee-Kai
cheekai@gen.co.jp
Mon Mar 3 00:29:00 GMT 1997
Hmm, seems like it's different on different machines (?).
I'm running gcc version 2.7.2 on SGI Indy IRIX 6.2.
Running "strip" alone forbids stripping due to IRIX's "strip"'s
behavior. It provides a "-f" which I used to strip all ELF and
non-ELF object files. After which, gcc-ing again still produces
the executable.
I've included a transcript below (filenames, include paths and
library paths are changed and removed, others remain in tact).
--------------------------- BEGIN OF TRANSCRIPT ---------------------------
% make
gcc -I. -g -c 1.c
cc1: warning: `-g' not supported by this configuration of GCC
gcc -I. -g -c 2.c
cc1: warning: `-g' not supported by this configuration of GCC
gcc -I. -g -c 3.c
cc1: warning: `-g' not supported by this configuration of GCC
gcc -I. -g -L. 1.o 2.o 3.o -o final
ld: WARNING 84: /usr/local/lib/gcc-lib/mips-sgi-irix5.3/2.7.2/libgcc.a is
not used for resolving any symbol.
ld: WARNING 84: /usr/local/lib/gcc-lib/mips-sgi-irix5.3/2.7.2/libgcc.a is
not used for resolving any symbol.
final: Symflags set but there are none?
% ls -lF final
-rwx------ 1 cheekai users 54344 Mar 3 17:03 final*
% rm final
% ls -lF *.o
-rw------- 1 cheekai users 39420 Mar 3 17:03 1.o
-rw------- 1 cheekai users 13956 Mar 3 17:03 2.o
-rw------- 1 cheekai users 30884 Mar 3 17:03 3.o
% strip *.o
strip: 1.o: Not stripped. Only elf type (e_type) ET_EXEC files are
stripped unless -f is specified. This one is ET_REL
strip: 2.o: Not stripped. Only elf type (e_type) ET_EXEC files are
stripped unless -f is specified. This one is ET_REL
strip: 3.o: Not stripped. Only elf type (e_type) ET_EXEC files are
stripped unless -f is specified. This one is ET_REL
% strip -f *.o
% ls -lF *.o
-rw------- 1 cheekai users 23480 Mar 3 17:03 1.o
-rw------- 1 cheekai users 8064 Mar 3 17:03 2.o
-rw------- 1 cheekai users 15560 Mar 3 17:03 3.o
% make etelnet
gcc -I. -g -L. 1.o 2.o 3.o -o final
ld: WARNING 84: /usr/local/lib/gcc-lib/mips-sgi-irix5.3/2.7.2/libgcc.a is
not used for resolving any symbol.
ld: WARNING 84: /usr/local/lib/gcc-lib/mips-sgi-irix5.3/2.7.2/libgcc.a is
not used for resolving any symbol.
final: Symflags set but there are none?
% ls -lF final
-rwx------ 1 cheekai users 39268 Mar 3 17:03 final*
% gcc -v
Reading specs from /usr/local/lib/gcc-lib/mips-sgi-irix5.3/2.7.2/specs
gcc version 2.7.2
%
---------------------------- END OF TRANSCRIPT ----------------------------
Chin Chee-Kai (Last, First)
Internet Email-ID: cheekai@gen.co.jp
On Mon, 3 Mar 1997, Fergus Henderson wrote:
> > [...my quotation deleted...]
>
> Which Unix does this work on?
>
> It doesn't work on Linux or Alpha/OSF.
>
> On Alpha/OSF, the `strip' command reports the following:
> strip: Error: 1.o contains relocation entries-- not stripped
>
> On Linux, you just get
>
> undefined symbol `main'
>
> or something like that.
>
> > [...my quotation deleted...]
>
> That's because `strip' stripped off all the symbols including the
> `main' symbol in your `.o' file.
>
> --
> Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
> WWW: < http://www.cs.mu.oz.au/~fjh > | of excellence is a lethal habit"
> PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.
-
For help on using this list, send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
More information about the Cygwin
mailing list