Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Oct 1996 10:49:38 -0700 (PDT)
From:      John Polstra <jdp>
To:        CVS-committers, cvs-all, cvs-user
Subject:   cvs commit:  src/contrib/gcc/config/i386 i386.h src/contrib/gcc/cp except.c
Message-ID:  <199610031749.KAA11232@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jdp         96/10/03 10:49:37

  Modified:    contrib/gcc/config/i386  i386.h
               contrib/gcc/cp  except.c
  Log:
  Fix a bug that caused incorrect PIC code to be generated for exceptions.
  The symptom was an assembler warning
  
      "GOT relocation burb: `___EXCEPTION_TABLE__' should be global"
  
  followed (sometimes) by a core dump.  The fix makes the compiler
  generate the correct GOTOFF addressing for that symbol, rather than the
  GOT addressing it was emitting before.
  
  Warning:  There is still at least one serious bug in the i386 exception
  code for PIC.  The exception code that is generated clobbers the GOT
  register (%ebx) and then tries to use it later.  That leads to core
  dumps at program execution time.  I know where the problem is, but I do
  not have a fix for it at this time.  Until it is fixed, exceptions will
  not work in PIC code.  This is a general problem for all i386 platforms;
  it is not specific to FreeBSD.
  
  Revision  Changes    Path
  1.2       +16 -0     src/contrib/gcc/config/i386/i386.h
  1.2       +7 -1      src/contrib/gcc/cp/except.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610031749.KAA11232>