From mboxrd@z Thu Jan 1 00:00:00 1970 From: meissner@cygnus.com To: egcs@cygnus.com Subject: Re: fixing the c++/f77 circular dependency Date: Mon, 25 Aug 1997 20:59:33 -0000 Message-id: <199708252109.RAA06148@tweedledumb.cygnus.com> In-reply-to: fixing the c++/f77 circular dependency X-SW-Source: 1997-08/0440.html | The following notion just occurred to me. I'm not sure it's the cleanest | thing in the world, but it does break the circle. The basic idea: | | During the build process, don't build a library named libgcc.a. Instead, | build libgcc-c.a, libgcc-c++.a, libgcc-f.a (Fortran), etc. At | installation time or just before, combine all of these libraries into one, | named libgcc.a. The LANGUAGES variable determines which language-specific | libraries are combined to make libgcc.a. Normally, gcc passes -lgcc to | the linker, but a flag can disable this, so that the compiler can be | bootstrapped with -lgcc-c instead. We do want to wind up with a combined | libgcc.a so that multi-language programs work. No, installation time is too late. I routinely test compilers in place without installing them (using ./xgcc -B./). From mboxrd@z Thu Jan 1 00:00:00 1970 From: J. Kean Johnston To: egcs@cygnus.com Subject: -g1 lossage Date: Mon, 25 Aug 1997 20:59:33 -0000 Message-ID: <199708252109.RAA06148@tweedledumb.cygnus.com> X-SW-Source: 1997-08/0441.html Message-ID: <19970825205933.AreGADXsdPiuxmjU0tW6FeGMhYNTMiOc-xIZmhqcCWI@z> Hi all. When compiling cp/new.cc on SCO Open Server 5.0, I get the following error: (EOF):undefined name: .L_T83 Thjis only happens with -g1. Compiling with -g or without it does not produce the problem. Any ideas on where to look? In case it helps, here is a diff between -g and -g1 assembler output: *** g1.s Mon Aug 25 00:44:10 1997 --- g.s Mon Aug 25 00:44:31 1997 *************** *** 1,7 **** .file "new.cc" .version "01.01" / GNU C++ version egcs-2.90.01 970821 (gcc2-970802 experimental) (i486-sco3.2v5.0) compiled by GNU C version egcs-2.90.01 970821 (gcc2-970802 experimental). ! / options passed: -m486 -g1 -O2 -O99 -fomit-frame-pointer / options enabled: -fdefer-pop -fomit-frame-pointer -fcse-follow-jumps / -fcse-skip-blocks -fexpensive-optimizations -fthread-jumps / -fstrength-reduce -fpeephole -fforce-mem -ffunction-cse --- 1,7 ---- .file "new.cc" .version "01.01" / GNU C++ version egcs-2.90.01 970821 (gcc2-970802 experimental) (i486-sco3.2v5.0) compiled by GNU C version egcs-2.90.01 970821 (gcc2-970802 experimental). ! / options passed: -m486 -g -O2 -O99 -fomit-frame-pointer / options enabled: -fdefer-pop -fomit-frame-pointer -fcse-follow-jumps / -fcse-skip-blocks -fexpensive-optimizations -fthread-jumps / -fstrength-reduce -fpeephole -fforce-mem -ffunction-cse *************** *** 30,35 **** --- 30,63 ---- .L_bss_b: .previous + .section .debug_sfnames + .L_sfnames_b: + .string "/u/tmp/egcs-ss-970821/" + .previous + + .section .line + .L_line_b: + .4byte .L_line_e-.L_line_b + .4byte .L_text_b + .previous + + .section .debug_srcinfo + .L_srcinfo_b: + .4byte .L_line_b + .4byte .L_sfnames_b + .4byte .L_text_b + .4byte .L_text_e + .4byte 0xffffffff + .previous + + .section .debug_pubnames + .4byte .L_debug_b + .previous + + .section .debug_aranges + .4byte .L_debug_b + .previous + .section .debug .L_debug_b: .L_D1: *************** *** 47,54 **** --- 75,88 ---- .4byte .L_text_b .2byte 0x121 .4byte .L_text_e + .2byte 0x106 + .4byte .L_line_b .2byte 0x1b8 .string "/u/tmp/egcs-ss-970821" + .2byte 0x8006 + .4byte .L_sfnames_b + .2byte 0x8016 + .4byte .L_srcinfo_b .L_D1_e: .previous *************** *** 574,579 **** --- 608,631 ---- .globl what__C9bad_alloc .type what__C9bad_alloc,@function what__C9bad_alloc: + .L_LC1: + + + .section .debug_sfnames + .L_F0: + .string "include/new" + .previous + .section .line + .L_LE1: + .4byte 19 / /new:19 + .2byte 0xffff + .4byte .L_LC1-.L_text_b + .previous + + .section .debug_srcinfo + .4byte .L_LE1-.L_line_b + .4byte .L_F0-.L_sfnames_b + .previous .L_b6: pushl %ebp movl %esp,%ebp *************** *** 764,769 **** --- 816,828 ---- .globl __nw__FUiPv .type __nw__FUiPv,@function __nw__FUiPv: + .L_LC2: + + .section .line + .4byte 44 / /new:44 + .2byte 0xffff + .4byte .L_LC2-.L_text_b + .previous .L_b8: pushl %ebp movl %esp,%ebp *************** *** 971,976 **** --- 1030,1042 ---- .globl __vn__FUiPv .type __vn__FUiPv,@function __vn__FUiPv: + .L_LC3: + + .section .line + .4byte 45 / /new:45 + .2byte 0xffff + .4byte .L_LC3-.L_text_b + .previous .L_b10: pushl %ebp movl %esp,%ebp *************** *** 1179,1184 **** --- 1245,1268 ---- .globl __tf9bad_alloc .type __tf9bad_alloc,@function __tf9bad_alloc: + .L_LC4: + + + .section .debug_sfnames + .L_F1: + .string "cp/new.cc" + .previous + .section .line + .L_LE4: + .4byte 31 / /new.cc:31 + .2byte 0xffff + .4byte .L_LC4-.L_text_b + .previous + + .section .debug_srcinfo + .4byte .L_LE4-.L_line_b + .4byte .L_F1-.L_sfnames_b + .previous .L_b12: pushl %ebx movl $__ti9bad_alloc,%ebx *************** *** 1278,1289 **** --- 1362,1398 ---- .align 16 .type _._9bad_alloc,@function _._9bad_alloc: + .L_LC5: + + .section .line + .4byte 31 / /new.cc:31 + .2byte 0xffff + .4byte .L_LC5-.L_text_b + .previous .L_b14: .L_B8: .L_B9: .L_B9_e: movl 4(%esp),%edx movl 8(%esp),%eax + .L_LC6: + + + .section .debug_sfnames + .L_F2: + .string "include/exception" + .previous + .section .line + .L_LE6: + .4byte 18 / /exception:18 + .2byte 0xffff + .4byte .L_LC6-.L_text_b + .previous + + .section .debug_srcinfo + .4byte .L_LE6-.L_line_b + .4byte .L_F2-.L_sfnames_b + .previous movl $_vt.9exception,(%edx) testb $1,%al je .L141 *************** *** 1292,1297 **** --- 1401,1419 ---- addl $4,%esp .L141: .L_B8_e: + .L_LC7: + + .section .line + .L_LE7: + .4byte 31 / /new.cc:31 + .2byte 0xffff + .4byte .L_LC7-.L_text_b + .previous + + .section .debug_srcinfo + .4byte .L_LE7-.L_line_b + .4byte .L_F1-.L_sfnames_b + .previous ret .L_b14_e: .L_f14_e: *************** *** 1361,1366 **** --- 1483,1512 ---- .4byte .L_B8_e .L_D73_e: .L_D75: + .4byte .L_D75_e-.L_D75 + .2byte 0x5 + .2byte 0x12 + .4byte .L_D76 + .2byte 0x2b2 + .4byte .L_E128 + .2byte 0x23 + .2byte .L_l75_e-.L_l75 + .L_l75: + .L_l75_e: + .L_D75_e: + .L_D76: + .4byte .L_D76_e-.L_D76 + .2byte 0x5 + .2byte 0x12 + .4byte .L_D77 + .2byte 0x2b2 + .4byte .L_E129 + .2byte 0x23 + .2byte .L_l76_e-.L_l76 + .L_l76: + .L_l76_e: + .L_D76_e: + .L_D77: .4byte 0x4 .L_D74: .4byte 0x4 *************** *** 1371,1411 **** .comm __eh_cleanup,4,4 .comm __eh_in_catch,1,1 .section .debug_aranges .4byte __eh_pc .4byte 0x4 .previous .section .debug_aranges .4byte __eh_type .4byte 0x4 .previous .section .debug_aranges .4byte __eh_value .4byte 0x4 .previous .section .debug_aranges .4byte __eh_cleanup .4byte 0x4 .previous .section .debug_aranges .4byte __eh_in_catch .4byte 0x1 .previous .section .debug_aranges .4byte __ti9bad_alloc .4byte 0xc .previous .section .debug ! .L_D70: ! .4byte .L_D70_e-.L_D70 .align 4 ! .L_D70_e: .L_D2: .previous --- 1517,1955 ---- .comm __eh_cleanup,4,4 .comm __eh_in_catch,1,1 + .section .debug + .L_D70: + .4byte .L_D70_e-.L_D70 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D78 + .2byte 0x38 + .string "__vtbl_ptr_type" + .2byte 0x83 + .2byte .L_t70_e-.L_t70 + .L_t70: + .byte 0x3 + .4byte .L_T72 + .L_t70_e: + .L_D70_e: + .previous + + .section .debug + .L_D78: + .4byte .L_D78_e-.L_D78 + .2byte 0x13 + .2byte 0x12 + .4byte .L_D79 + .set .L_T83,.L_D78 + .2byte 0x38 + .string "type_info" + .L_D78_e: + .previous + + .section .debug_pubnames + .4byte .L_P15 + .string "__eh_pc" + .previous + .section .debug_aranges .4byte __eh_pc .4byte 0x4 .previous + .section .debug + .L_P15: + .L_D79: + .4byte .L_D79_e-.L_D79 + .2byte 0x7 + .2byte 0x12 + .4byte .L_D80 + .2byte 0x38 + .string "__eh_pc" + .2byte 0x63 + .2byte .L_t79_e-.L_t79 + .L_t79: + .byte 0x1 + .2byte 0x14 + .L_t79_e: + .2byte 0x23 + .2byte .L_l79_e-.L_l79 + .L_l79: + .byte 0x3 + .4byte __eh_pc + .L_l79_e: + .L_D79_e: + .previous + + .section .debug_pubnames + .4byte .L_P16 + .string "__eh_type" + .previous + .section .debug_aranges .4byte __eh_type .4byte 0x4 .previous + .section .debug + .L_P16: + .L_D80: + .4byte .L_D80_e-.L_D80 + .2byte 0x7 + .2byte 0x12 + .4byte .L_D81 + .2byte 0x38 + .string "__eh_type" + .2byte 0x63 + .2byte .L_t80_e-.L_t80 + .L_t80: + .byte 0x1 + .2byte 0x14 + .L_t80_e: + .2byte 0x23 + .2byte .L_l80_e-.L_l80 + .L_l80: + .byte 0x3 + .4byte __eh_type + .L_l80_e: + .L_D80_e: + .previous + + .section .debug_pubnames + .4byte .L_P17 + .string "__eh_value" + .previous + .section .debug_aranges .4byte __eh_value .4byte 0x4 .previous + .section .debug + .L_P17: + .L_D81: + .4byte .L_D81_e-.L_D81 + .2byte 0x7 + .2byte 0x12 + .4byte .L_D82 + .2byte 0x38 + .string "__eh_value" + .2byte 0x63 + .2byte .L_t81_e-.L_t81 + .L_t81: + .byte 0x1 + .2byte 0x14 + .L_t81_e: + .2byte 0x23 + .2byte .L_l81_e-.L_l81 + .L_l81: + .byte 0x3 + .4byte __eh_value + .L_l81_e: + .L_D81_e: + .previous + + .section .debug_pubnames + .4byte .L_P18 + .string "__eh_cleanup" + .previous + .section .debug_aranges .4byte __eh_cleanup .4byte 0x4 .previous + .section .debug + .L_D82: + .4byte .L_D82_e-.L_D82 + .2byte 0x15 + .2byte 0x12 + .4byte .L_D83 + .set .L_T46,.L_D82 + .L_D82_e: + .L_D84: + .4byte 0x4 + .L_P18: + .L_D83: + .4byte .L_D83_e-.L_D83 + .2byte 0x7 + .2byte 0x12 + .4byte .L_D85 + .2byte 0x38 + .string "__eh_cleanup" + .2byte 0x83 + .2byte .L_t83_e-.L_t83 + .L_t83: + .byte 0x1 + .4byte .L_T46 + .L_t83_e: + .2byte 0x23 + .2byte .L_l83_e-.L_l83 + .L_l83: + .byte 0x3 + .4byte __eh_cleanup + .L_l83_e: + .L_D83_e: + .previous + + .section .debug_pubnames + .4byte .L_P19 + .string "__eh_in_catch" + .previous + .section .debug_aranges .4byte __eh_in_catch .4byte 0x1 .previous + .section .debug + .L_P19: + .L_D85: + .4byte .L_D85_e-.L_D85 + .2byte 0x7 + .2byte 0x12 + .4byte .L_D86 + .2byte 0x38 + .string "__eh_in_catch" + .2byte 0x55 + .2byte 0x15 + .2byte 0x23 + .2byte .L_l85_e-.L_l85 + .L_l85: + .byte 0x3 + .4byte __eh_in_catch + .L_l85_e: + .L_D85_e: + .previous + + .section .debug + .L_D86: + .4byte .L_D86_e-.L_D86 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D87 + .2byte 0x38 + .string "ptrdiff_t" + .2byte 0x55 + .2byte 0x7 + .L_D86_e: + .previous + + .section .debug + .L_D87: + .4byte .L_D87_e-.L_D87 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D88 + .2byte 0x38 + .string "size_t" + .2byte 0x55 + .2byte 0x9 + .L_D87_e: + .previous + + .section .debug + .L_D88: + .4byte .L_D88_e-.L_D88 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D89 + .2byte 0x38 + .string "wint_t" + .2byte 0x55 + .2byte 0x9 + .L_D88_e: + .previous + + .section .debug + .previous + + .section .debug + .previous + + .section .debug + .L_D89: + .4byte .L_D89_e-.L_D89 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D90 + .2byte 0x38 + .string "terminate_handler" + .2byte 0x83 + .2byte .L_t89_e-.L_t89 + .L_t89: + .byte 0x1 + .4byte .L_T46 + .L_t89_e: + .L_D89_e: + .previous + + .section .debug + .L_D90: + .4byte .L_D90_e-.L_D90 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D91 + .2byte 0x38 + .string "unexpected_handler" + .2byte 0x83 + .2byte .L_t90_e-.L_t90 + .L_t90: + .byte 0x1 + .4byte .L_T46 + .L_t90_e: + .L_D90_e: + .previous + + .section .debug + .previous + + .section .debug + .L_D91: + .4byte .L_D91_e-.L_D91 + .2byte 0x13 + .2byte 0x12 + .4byte .L_D92 + .set .L_T187,.L_D91 + .2byte 0x38 + .string "nothrow_t" + .2byte 0xb6 + .4byte 0x1 + .L_D91_e: + .L_D93: + .4byte 0x4 + .previous + + .section .debug_pubnames + .4byte .L_P20 + .string "nothrow" + .previous + + .section .debug + .L_P20: + .L_D92: + .4byte .L_D92_e-.L_D92 + .2byte 0x7 + .2byte 0x12 + .4byte .L_D94 + .2byte 0x38 + .string "nothrow" + .2byte 0x83 + .2byte .L_t92_e-.L_t92 + .L_t92: + .byte 0x3 + .4byte .L_T187 + .L_t92_e: + .2byte 0x23 + .2byte .L_l92_e-.L_l92 + .L_l92: + .byte 0x3 + .4byte nothrow + .L_l92_e: + .L_D92_e: + .previous + + .section .debug + .L_D94: + .4byte .L_D94_e-.L_D94 + .2byte 0x16 + .2byte 0x12 + .4byte .L_D95 + .2byte 0x38 + .string "new_handler" + .2byte 0x83 + .2byte .L_t94_e-.L_t94 + .L_t94: + .byte 0x1 + .4byte .L_T46 + .L_t94_e: + .L_D94_e: + .previous + + .section .debug_pubnames + .4byte .L_P21 + .string "__ti9bad_alloc" + .previous + .section .debug_aranges .4byte __ti9bad_alloc .4byte 0xc .previous .section .debug ! .L_D95: ! .4byte .L_D95_e-.L_D95 ! .2byte 0x1 ! .2byte 0x12 ! .4byte .L_D96 ! .set .L_T228,.L_D95 ! .2byte 0xa3 ! .2byte .L_s95_e-.L_s95 ! .L_s95: ! .byte 0x0 ! .2byte 0x7 ! .4byte 0x0 ! .4byte 0xb ! .byte 0x8 ! .2byte 0x55 ! .2byte 0x3 ! .L_s95_e: ! .L_D95_e: ! .L_P21: ! .L_D96: ! .4byte .L_D96_e-.L_D96 ! .2byte 0x7 ! .2byte 0x12 ! .4byte .L_D97 ! .2byte 0x38 ! .string "__ti9bad_alloc" ! .2byte 0x72 ! .4byte .L_T228 ! .2byte 0x23 ! .2byte .L_l96_e-.L_l96 ! .L_l96: ! .byte 0x3 ! .4byte __ti9bad_alloc ! .L_l96_e: ! .L_D96_e: ! .previous ! ! .section .debug ! .L_D97: ! .4byte .L_D97_e-.L_D97 ! .2byte 0x1 ! .2byte 0x12 ! .4byte .L_D98 ! .set .L_T234,.L_D97 ! .2byte 0xa3 ! .2byte .L_s97_e-.L_s97 ! .L_s97: ! .byte 0x0 ! .2byte 0x7 ! .4byte 0x0 ! .4byte 0x7 ! .byte 0x8 ! .2byte 0x55 ! .2byte 0x3 ! .L_s97_e: ! .L_D97_e: ! .L_P22: ! .L_D98: ! .4byte .L_D98_e-.L_D98 ! .2byte 0x7 ! .2byte 0x12 ! .4byte .L_D99 ! .2byte 0x38 ! .string "__ti9exception" ! .2byte 0x72 ! .4byte .L_T234 ! .L_D98_e: ! .previous ! ! .section .debug ! .L_D99: ! .4byte .L_D99_e-.L_D99 .align 4 ! .L_D99_e: .L_D2: .previous *************** *** 1423,1427 **** --- 1967,2002 ---- .section .bss .L_bss_e: + .previous + + .section .line + .L_line_last: + .4byte 0x0 + .2byte 0xffff + .4byte .L_text_e-.L_text_b + .L_line_e: + .previous + + .section .debug_srcinfo + .4byte .L_line_last-.L_line_b + .4byte 0xffffffff + .previous + + .section .debug_pubnames + .4byte 0x0 + .string "" + .previous + + .section .debug_aranges + .4byte .L_text_b + .4byte .L_text_e-.L_text_b + .4byte .L_data_b + .4byte .L_data_e-.L_data_b + .4byte .L_rodata_b + .4byte .L_rodata_e-.L_rodata_b + .4byte .L_bss_b + .4byte .L_bss_e-.L_bss_b + .4byte 0x0 + .4byte 0x0 .previous .ident "GCC: (GNU) egcs-2.90.01 970821 (gcc2-970802 experimental)"