No underscore option for g77 or f77

Mumit Khan khan@xraylith.wisc.edu
Mon May 31 21:10:00 GMT 1999


On Mon, 10 May 1999, J.C. Ng wrote:

> Thanks for the info.
> Actually it is gcc/g++ which appends the underscore to the front of the
> symbols within the libray. And this mucks up the compilation of my
> executable. How can I disable this? 

GCC (all languages) *always* prepends an underscore PE-COFF. If you see
otherwise, it's a bug. This underscore is an ABI (App. Binary Interface) 
issue, and hence can vary from system to system (Linux/ELF eg does not
prepend the underscore).

If you really want help, please stop rationing the information in small
bits and pieces, and instead send a complete test case that shows the 
problem. At the very least, describe the problem in detail, with all
the pertinent version information and some code if applicable, which 
will save all of us time at the end.

Here's a way to test it:

1. create two files, a.c and b.f, with a function in each.
   
   /* a.c */
   void cfoo () { }

   C b.f
	subroutine ffoo ()
	return
	end

2. now compile both using egcs and look at the symbols.
   
   $ gcc -c -v a.c b.f
   $ nm a.o b.o
    a.o:
    00000000 b .bss
    00000000 d .data
    00000000 t .text
    00000000 t ___gnu_compiled_c
    00000000 T _cfoo
    00000000 t gcc2_compiled.

    b.o:
    00000000 b .bss
    00000000 d .data
    00000000 t .text
    00000000 t ___gnu_compiled_f77
    00000000 T _ffoo_
    00000000 t gcc2_compiled.

You'll see that *both* C and f77 functions have _ prepended, so there
should be no conflict.

Regards,
Mumit




--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list