libioP.h: Handle new ABI mangling.
* libioP.h: Handle new ABI mangling. * stdstrbufs.cc: Likewise. From-SVN: r34395
This commit is contained in:
parent
1f6e1acc0f
commit
f557989836
3 changed files with 22 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2000-06-04 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* libioP.h: Handle new ABI mangling.
|
||||
* stdstrbufs.cc: Likewise.
|
||||
|
||||
2000-05-24 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* iostream.cc (endl): Fix bug in last change.
|
||||
|
|
|
@ -593,13 +593,18 @@ extern int _IO_vscanf __P ((const char *, _IO_va_list));
|
|||
/* VTABLE_LABEL defines NAME as of the CLASS class.
|
||||
CNLENGTH is strlen(#CLASS). */
|
||||
#ifdef __GNUC__
|
||||
# if _G_VTABLE_LABEL_HAS_LENGTH
|
||||
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
|
||||
# if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
|
||||
# if _G_VTABLE_LABEL_HAS_LENGTH
|
||||
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
|
||||
extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CNLENGTH #CLASS);
|
||||
# else
|
||||
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
|
||||
extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CLASS);
|
||||
# endif
|
||||
# else
|
||||
# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
|
||||
extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CLASS);
|
||||
# endif
|
||||
extern char NAME[] asm ("_ZN" #CNLENGTH #CLASS "TVE");
|
||||
# endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#if !defined(builtinbuf_vtable) && defined(__cplusplus)
|
||||
|
|
|
@ -35,11 +35,15 @@ the executable file might be covered by the GNU General Public License. */
|
|||
#if !defined(filebuf_vtable) && defined(__cplusplus)
|
||||
#ifdef __GNUC__
|
||||
extern char filebuf_vtable[]
|
||||
#if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
|
||||
asm (_G_VTABLE_LABEL_PREFIX
|
||||
#if _G_VTABLE_LABEL_HAS_LENGTH
|
||||
"7"
|
||||
#endif
|
||||
"filebuf");
|
||||
#else
|
||||
asm ( "_ZN7filebufTVE" );
|
||||
#endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
|
||||
#else /* !__GNUC__ */
|
||||
#if _G_VTABLE_LABEL_HAS_LENGTH
|
||||
#define filebuf_vtable _G_VTABLE_LABEL_PREFIX_ID##7filebuf
|
||||
|
@ -87,11 +91,15 @@ struct _IO_fake_stdiobuf {
|
|||
#ifndef stdiobuf_vtable
|
||||
#ifdef __GNUC__
|
||||
extern struct _IO_jump_t stdiobuf_vtable
|
||||
#if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
|
||||
asm (_G_VTABLE_LABEL_PREFIX
|
||||
#if _G_VTABLE_LABEL_HAS_LENGTH
|
||||
"8"
|
||||
#endif
|
||||
"stdiobuf");
|
||||
#else
|
||||
asm ( "_ZN15stdiobuf_vtableTVE" );
|
||||
#endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
|
||||
#else /* !__GNUC__ */
|
||||
#if _G_VTABLE_LABEL_HAS_LENGTH
|
||||
#define stdiobuf_vtable _G_VTABLE_LABEL_PREFIX_ID##8stdiobuf
|
||||
|
|
Loading…
Add table
Reference in a new issue