cvs commit: ports/editors/openoffice-devel/files patch-bridges+source+cpp_uno+gcc3_freebsd_intel

From: Martin Blapp <mbr_at_FreeBSD.org>
Date: Thu, 27 Mar 2003 14:13:25 -0800 (PST)
mbr         2003/03/27 14:13:25 PST

  FreeBSD ports repository

  Modified files:
    editors/openoffice-devel/files 
                                   patch-bridges+source+cpp_uno+gcc3_freebsd_intel 
  Log:
  Depending on how a compiler generates code (e.g., GCC 3.2.2 vs. GCC
  3.0.1), a bug in the gcc3_linux_intel UNO bridge is revealed:  If a
  C/C++ function returns a complex object (class, struct, union), the 386
  ABI specifies that the caller pushes the address for that object on the
  stack, and the callee removes it from the stack.  The code in the UNO
  bridge (callVirtualMethod in
  bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx) erroneously assumes
  that the callee does *not* remove the address from the stack, corrupting
  the stack.
  
  We use the same bridge code as linux does for gcc3.x. So this fix also
  works for us.
  
  Submitted by:   Stephan Bergmann <stephan.bergmann_at_sun.com>
  
  Revision  Changes    Path
  1.3       +41 -0     ports/editors/openoffice-devel/files/patch-bridges+source+cpp_uno+gcc3_freebsd_intel
Received on Thu Mar 27 2003 - 14:13:26 UTC