This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problems with gcc on Darwin/Mac OS X


Does anyone know what the status is of the following problems, encountered with gcc-3.2.1/3.2.2 on Darwin/Mac OS X ?

(1) trampolines crash (I have a patch to fix it)

(2) longjumps crash (I have a patch to fix it also)

(3) non-local goto's don't work, e.g.

extern int puts (const char *);
extern void abort (void);

int main (void)
{
  __label__ l1;

  void foo (void)
  {

    void bar (void)
    {
      puts ("goto l1");
      goto l1;
    }

    bar ();
  }

  foo ();
  abort ();
l1:
  puts ("label l1");
  return 0;
}

(4) compiling any .c source with -ggdb or -gdwarf-2 (instead of -gstabs or -g) produces the following output:
Internal compiler error in default_no_named_section, at varasm.c:5305


As far as I understand it, dwarf2 debug info is stored in "named sections" in the assembler code (dwarf2out.c:3679). Some object formats support names sections, and some don't (default_no_named_section and the following 3 functions in varasm.c).

The Darwin backend claims to support dwarf2 (config/darwin.h:128), but doesn't set TARGET_ASM_NAMED_SECTION (either by omission, or correctly because its object format really doesn't support named sections).

So I think the error is in the Darwin backend. It should either set TARGET_ASM_NAMED_SECTION (if that's possible) or not set
DWARF2_DEBUGGING_INFO.


Regards,

Adriaan van Os


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]