public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* collect2 compiles C with g77 !
@ 1997-11-10 18:41 Philippe De Muyter
  1997-11-11  3:35 ` Dave Love
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Philippe De Muyter @ 1997-11-10 18:41 UTC (permalink / raw)
  To: egcs mailing list

On m68k-motorola-sysv all g77/execute tests fail because collect2 tries
to compile a c-program with a fortran compiler :).  Details using -v and
-Wl,-debug options follow.

Does someone know the best way to fix that ?  I can think of at least three :
	1. Make collect2 always invoke gcc
	2. Make g77 recognize .c suffix and invoke cc1
	3. Make collect2 directly generate assembler, not C.

Philippe

Reading specs from /usr/gnu/tmp/egcs/gcc/specs
gcc version egcs-2.90.16 971105 (gcc2-970802 experimental)
 /usr/gnu/tmp/egcs/gcc/f771 /usr/gnu/tmp/egcs-971105/gcc/testsuite/g77.f-torture/execute/971102-1.f -fset-g77-defaults -quiet -dumpbase 971102-1.f -O0 -w -version -fversion -o /usr/tmp/cca17627.s
GNU F77 version egcs-2.90.16 971105 (gcc2-970802 experimental) (m68k-motorola-sysv) compiled by GNU C version egcs-2.90.16 971105 (gcc2-970802 experimental).
GNU Fortran Front End version 0.5.22-19970929
 as -o /usr/tmp/cca176271.o /usr/tmp/cca17627.s
 /usr/gnu/tmp/egcs/gcc/ld -o /tmp/971102-1.x /usr/gnu/tmp/egcs/gcc/crt0.o -L/usr/gnu/tmp/egcs/gcc -L/usr/local/m68k-motorola-sysv/lib -L/usr/local/lib /usr/tmp/cca176271.o -debug -lf2c -lm -lgcc -lc881 -lgcc
collect2 version egcs-2.90.16 971105 (gcc2-970802 experimental) (68k, SGS/AT&T sysV68 syntax)
ld_file_name        = /usr/local/bin/ld
c_file_name         = /usr/gnu/tmp/egcs/gcc/g77
nm_file_name        = /bin/nm
strip_file_name     = /usr/local/m68k-motorola-sysv/bin/strip
c_file              = /usr/tmp/cca17630.c
o_file              = /usr/tmp/cca17630.o
COLLECT_NAMES       = /usr/gnu/tmp/egcs/gcc/ld
COLLECT_GCC_OPTIONS = '-B/usr/gnu/tmp/egcs/gcc/' '-v' '-w' '-O0' '-o' '/tmp/971102-1.x'
COLLECT_GCC         = /usr/gnu/tmp/egcs/gcc/g77
COMPILER_PATH       = /usr/gnu/tmp/egcs/gcc/m68k-motorola-sysv/egcs-2.90.16/:/usr/gnu/tmp/egcs/gcc/:/usr/local/lib/gcc-lib/m68k-motorola-sysv/egcs-2.90.16/:/usr/local/lib/gcc-lib/m68k-motorola-sysv/:/usr/lib/gcc/m68k-motorola-sysv/egcs-2.90.16/:/usr/lib/gcc/m68k-motorola-sysv/:/usr/local/m68k-motorola-sysv/bin/m68k-motorola-sysv/egcs-2.90.16/:/usr/local/m68k-motorola-sysv/bin/
LIBRARY_PATH        = /usr/gnu/tmp/egcs/gcc/m68k-motorola-sysv/egcs-2.90.16/:/usr/gnu/tmp/egcs/gcc/:/usr/local/lib/gcc-lib/m68k-motorola-sysv/egcs-2.90.16/:/usr/lib/gcc/m68k-motorola-sysv/egcs-2.90.16/:/usr/local/m68k-motorola-sysv/lib/m68k-motorola-sysv/egcs-2.90.16/:/usr/local/m68k-motorola-sysv/lib/:/usr/local/lib/m68k-motorola-sysv/egcs-2.90.16/:/usr/local/lib/:/lib/m68k-motorola-sysv/egcs-2.90.16/:/lib/:/usr/lib/m68k-motorola-sysv/egcs-2.90.16/:/usr/lib/

/usr/local/bin/ld -o /tmp/971102-1.x /usr/gnu/tmp/egcs/gcc/crt0.o -L/usr/gnu/tmp/egcs/gcc -L/usr/local/m68k-motorola-sysv/lib -L/usr/local/lib /usr/tmp/cca176271.o -lf2c -lm -lgcc -lc881 -lgcc
 /bin/nm -p /tmp/971102-1.x

nm output with constructors/destructors.

0 constructor(s) found
0 destructor(s)  found
[Leaving /tmp/971102-1.x]

========== output_file = /tmp/971102-1.x, c_file = /usr/tmp/cca17630.c
#ifdef __cplusplus
extern "C" {
#endif
typedef void entry_pt();

extern void *x1 __asm__ ("_GLOBAL__F___bb_exit_func");
extern void *x2 __asm__ ("_GLOBAL__F___fixunsdfdi");
extern void *x3 __asm__ ("_GLOBAL__F___umoddi3");
extern void *x4 __asm__ ("_GLOBAL__F__exit_dummy_decl");
extern void *x5 __asm__ ("_GLOBAL__F___udivdi3");
extern void *x6 __asm__ ("_GLOBAL__F___do_global_dtors");
extern void *x7 __asm__ ("_GLOBAL__F___fixdfdi");
extern void *x8 __asm__ ("_GLOBAL__F___floatdidf");
	static void *frame_table[] = {
		&x1,
		&x2,
		&x3,
		&x4,
		&x5,
		&x6,
		&x7,
		&x8,
	0
};
extern void __register_frame_table (void *);
extern void __deregister_frame (void *);
static void reg_frame () {
	__register_frame_table (frame_table);
	}
static void dereg_frame () {
	__deregister_frame (frame_table);
	}

entry_pt * __CTOR_LIST__[] = {
	(entry_pt *) 1,
	reg_frame,
	0
};


entry_pt * __DTOR_LIST__[] = {
	(entry_pt *) 1,
	dereg_frame,
	0
};

extern entry_pt __main;
entry_pt *__main_reference = __main;

#ifdef __cplusplus
}
#endif
========== end of c_file

/usr/gnu/tmp/egcs/gcc/g77 -c -o /usr/tmp/cca17630.o -fno-exceptions /usr/tmp/cca17630.c
/usr/tmp/cca17630.c:1: undefined or invalid # directive
/usr/tmp/cca17630.c:2: 
   extern "C" {
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:3: undefined or invalid # directive
/usr/tmp/cca17630.c:4: 
   typedef void entry_pt();
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:6: 
   extern void *x1 __asm__ ("_GLOBAL__F___bb_exit_func");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:7: 
   extern void *x2 __asm__ ("_GLOBAL__F___fixunsdfdi");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:8: 
   extern void *x3 __asm__ ("_GLOBAL__F___umoddi3");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:9: 
   extern void *x4 __asm__ ("_GLOBAL__F__exit_dummy_decl");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:10: 
   extern void *x5 __asm__ ("_GLOBAL__F___udivdi3");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:11: 
   extern void *x6 __asm__ ("_GLOBAL__F___do_global_dtors");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:12: 
   extern void *x7 __asm__ ("_GLOBAL__F___fixdfdi");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:13: 
   extern void *x8 __asm__ ("_GLOBAL__F___floatdidf");
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:14: 
           static void *frame_table[] = {
           1           2
Unrecognized statement name at (1) and invalid form for assignment or statement-function definition at (2)
/usr/tmp/cca17630.c:14: 
           static void *frame_table[] = {
                                   ^
Unrecognized character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:15: 
                   &x1,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:16: 
                   &x2,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:17: 
                   &x3,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:18: 
                   &x4,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:19: 
                   &x5,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:20: 
                   &x6,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:21: 
                   &x7,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:22: 
                   &x8,
                   ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:24: 
   };
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:25: 
   extern void __register_frame_table (void *);
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:26: 
   extern void __deregister_frame (void *);
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:27: 
   static void reg_frame () {
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:28: 
           __register_frame_table (frame_table);
           ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:29: 
           }
           ^
Unrecognized character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:30: 
   static void dereg_frame () {
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:31: 
           __deregister_frame (frame_table);
           ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:32: 
           }
           ^
Unrecognized character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:34: 
   entry_pt * __CTOR_LIST__[] = {
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:35: 
           (entry_pt *) 1,
           ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:36: 
           reg_frame,
           1        2
Unrecognized statement name at (1) and invalid form for assignment or statement-function definition at (2)
/usr/tmp/cca17630.c:38: 
   };
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:41: 
   entry_pt * __DTOR_LIST__[] = {
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:42: 
           (entry_pt *) 1,
           ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
/usr/tmp/cca17630.c:43: 
           dereg_frame,
           1          2
Unrecognized statement name at (1) and invalid form for assignment or statement-function definition at (2)
/usr/tmp/cca17630.c:45: 
   };
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:47: 
   extern entry_pt __main;
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:48: 
   entry_pt *__main_reference = __main;
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:50: undefined or invalid # directive
/usr/tmp/cca17630.c:51: 
   }
   ^
Invalid first character at (^) [info -f g77 M LEX]
/usr/tmp/cca17630.c:52: undefined or invalid # directive
collect2: gcc returned 1 exit status
[Leaving /usr/tmp/cca17630.c]
[Leaving /usr/tmp/cca17630.o]
[Leaving /usr/tmp/cca17630.x]
[Leaving /usr/tmp/cca17630.ld]
[Leaving /tmp/971102-1.x]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~1997-11-26 11:01 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-11-10 18:41 collect2 compiles C with g77 ! Philippe De Muyter
1997-11-11  3:35 ` Dave Love
1997-11-11  9:33   ` Jeffrey A Law
1997-11-11 13:51     ` Craig Burley
1997-11-12  6:25       ` Paul Koning
1997-11-13 12:55       ` g77 changes Dave Love
1997-11-17 13:55         ` Jeffrey A Law
1997-11-17 15:59           ` Craig Burley
1997-11-18 10:01             ` Dave Love
1997-11-18 23:53             ` Jeffrey A Law
1997-11-18  9:55           ` Dave Love
1997-11-18 23:53             ` Jeffrey A Law
1997-11-17 13:55       ` collect2 compiles C with g77 ! Jeffrey A Law
1997-11-25 19:56 ` Jeffrey A Law
1997-11-26 11:01   ` Craig Burley
     [not found] ` <16517.880498727.cygnus.egcs@cygnus.com>
1997-11-25 22:49   ` Jason Merrill
1997-11-26  0:57     ` Jeffrey A Law
1997-11-26  0:57       ` Jason Merrill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).