mirror of
https://review.haiku-os.org/buildtools
synced 2025-02-07 14:34:51 +01:00
add a fix in order to avoid using the broken BDirectWindow-typeinfo function
that is contained inside the BE-libs. We generate a new one and use this instead git-svn-id: file:///srv/svn/repos/haiku/trunk/buildtools@9618 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
5c130f4191
commit
cd8c180f96
18
gcc/gcc/beos-specific/fix_bdirectwin_typeinfo.cpp
Normal file
18
gcc/gcc/beos-specific/fix_bdirectwin_typeinfo.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
** This file exists merely to produce the typeinfo-function for BDirectWindow
|
||||||
|
** (i.e. the symbol __tf13BDirectWindow).
|
||||||
|
** It seems that the version of this function included in the Be-libs isn't
|
||||||
|
** working (it crashes GLTeapot, for instance). So we use this file to
|
||||||
|
** generate a working version of this function which will be linked into any
|
||||||
|
** application automatically, fixing the problem.
|
||||||
|
** TODO: check if this applies to Dano/Zeta and deactivate this if it doesn't.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#include <typeinfo>
|
||||||
|
#include <DirectWindow.h>
|
||||||
|
|
||||||
|
void
|
||||||
|
dummy()
|
||||||
|
{
|
||||||
|
typeid(BDirectWindow);
|
||||||
|
}
|
@ -202,7 +202,7 @@ Boston, MA 02111-1307, USA. */
|
|||||||
#define LIBGCC_SPEC ""
|
#define LIBGCC_SPEC ""
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
#undef STARTFILE_SPEC
|
||||||
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart: %{!shared: start_dyn.o%s}} init_term_dyn.o%s %{p:i386-mcount.o%s}"
|
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart: %{!shared: start_dyn.o%s fix_bdirectwin_typeinfo.o%s}} init_term_dyn.o%s %{p:i386-mcount.o%s}"
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
#undef ENDFILE_SPEC
|
||||||
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
|
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
|
||||||
|
@ -12,3 +12,11 @@ INSTALL_ASSERT_H =
|
|||||||
|
|
||||||
winnt.o: $(srcdir)/config/i386/winnt.c
|
winnt.o: $(srcdir)/config/i386/winnt.c
|
||||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/winnt.c
|
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/winnt.c
|
||||||
|
|
||||||
|
EXTRA_PARTS += fix_bdirectwin_typeinfo.o
|
||||||
|
# The purpose of this rule is to generate fix_bdirectwin_typeinfo.o.
|
||||||
|
# This object-file is required to fix a problem with the BDirectWindow-typeinfo
|
||||||
|
# function as provided by the Be-libs (which crashes GLTeapot).
|
||||||
|
#
|
||||||
|
fix_bdirectwin_typeinfo.o: $(srcdir)/beos-specific/fix_bdirectwin_typeinfo.cpp
|
||||||
|
gcc -c -O0 $(srcdir)/beos-specific/fix_bdirectwin_typeinfo.cpp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user