diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-09-10 22:05:49 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-09-10 22:05:49 +0000 |
commit | 28361c5ee4a548b9c591702abdb8d2690cc48c66 (patch) | |
tree | 915f08a1566472ee5a001db4f62d482ebbeec730 | |
parent | 0e886ef96e0f750ca40fdc0b4f546cdef0a3caa5 (diff) | |
download | glibc-28361c5ee4a548b9c591702abdb8d2690cc48c66.tar glibc-28361c5ee4a548b9c591702abdb8d2690cc48c66.tar.gz glibc-28361c5ee4a548b9c591702abdb8d2690cc48c66.tar.bz2 glibc-28361c5ee4a548b9c591702abdb8d2690cc48c66.zip |
Remove _G_USING_THUNKS.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | libio/libioP.h | 42 | ||||
-rw-r--r-- | sysdeps/gnu/_G_config.h | 3 | ||||
-rw-r--r-- | sysdeps/mach/hurd/_G_config.h | 3 |
4 files changed, 17 insertions, 36 deletions
@@ -1,5 +1,10 @@ 2012-09-10 Joseph Myers <joseph@codesourcery.com> + * libioP.h [_G_USING_THUNKS]: Make code unconditional. + [!_G_USING_THUNKS]: Remove conditional code. + * sysdeps/gnu/_G_config.h (_G_USING_THUNKS): Remove. + * sysdeps/mach/hurd/_G_config.h (_G_USING_THUNKS): Likewise. + * libio/libioP.h [__GNUC__] (VTABLE_LABEL): Remove. [!builtinbuf_vtable && __cplusplus] (builtinbuf_vtable): Likewise. * sysdeps/generic/_G_config.h (_G_NAMES_HAVE_UNDERSCORE): Remove. diff --git a/libio/libioP.h b/libio/libioP.h index c8dbac50ce..01e8bf878a 100644 --- a/libio/libioP.h +++ b/libio/libioP.h @@ -109,34 +109,18 @@ extern "C" { # define _IO_vtable_offset(THIS) 0 #endif #define _IO_WIDE_JUMPS_FUNC(THIS) _IO_WIDE_JUMPS(THIS) -#ifdef _G_USING_THUNKS -# define JUMP_FIELD(TYPE, NAME) TYPE NAME -# define JUMP0(FUNC, THIS) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS) -# define JUMP1(FUNC, THIS, X1) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS, X1) -# define JUMP2(FUNC, THIS, X1, X2) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS, X1, X2) -# define JUMP3(FUNC, THIS, X1,X2,X3) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS, X1,X2, X3) -# define JUMP_INIT(NAME, VALUE) VALUE -# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0), JUMP_INIT (dummy2, 0) - -# define WJUMP0(FUNC, THIS) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS) -# define WJUMP1(FUNC, THIS, X1) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS, X1) -# define WJUMP2(FUNC, THIS, X1, X2) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS, X1, X2) -# define WJUMP3(FUNC, THIS, X1,X2,X3) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS, X1,X2, X3) -#else -/* These macros will change when we re-implement vtables to use "thunks"! */ -# define JUMP_FIELD(TYPE, NAME) struct { short delta1, delta2; TYPE pfn; } NAME -# define JUMP0(FUNC, THIS) _IO_JUMPS_FUNC(THIS)->FUNC.pfn (THIS) -# define JUMP1(FUNC, THIS, X1) _IO_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1) -# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1, X2) -# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1,X2,X3) -# define JUMP_INIT(NAME, VALUE) {0, 0, VALUE} -# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0) - -# define WJUMP0(FUNC, THIS) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS) -# define WJUMP1(FUNC, THIS, X1) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1) -# define WJUMP2(FUNC, THIS, X1, X2) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1, X2) -# define WJUMP3(FUNC, THIS, X1,X2,X3) _IO_WIDE_JUMPS_FUNC(THIS)->FUNC.pfn (THIS, X1,X2,X3) -#endif +#define JUMP_FIELD(TYPE, NAME) TYPE NAME +#define JUMP0(FUNC, THIS) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS) +#define JUMP1(FUNC, THIS, X1) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS, X1) +#define JUMP2(FUNC, THIS, X1, X2) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS, X1, X2) +#define JUMP3(FUNC, THIS, X1,X2,X3) (_IO_JUMPS_FUNC(THIS)->FUNC) (THIS, X1,X2, X3) +#define JUMP_INIT(NAME, VALUE) VALUE +#define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0), JUMP_INIT (dummy2, 0) + +#define WJUMP0(FUNC, THIS) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS) +#define WJUMP1(FUNC, THIS, X1) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS, X1) +#define WJUMP2(FUNC, THIS, X1, X2) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS, X1, X2) +#define WJUMP3(FUNC, THIS, X1,X2,X3) (_IO_WIDE_JUMPS_FUNC(THIS)->FUNC) (THIS, X1,X2, X3) /* The 'finish' function does any final cleaning up of an _IO_FILE object. It does not delete (free) it, but does everything else to finalize it. @@ -299,9 +283,7 @@ typedef void (*_IO_imbue_t) (_IO_FILE *, void *); struct _IO_jump_t { JUMP_FIELD(_G_size_t, __dummy); -#ifdef _G_USING_THUNKS JUMP_FIELD(_G_size_t, __dummy2); -#endif JUMP_FIELD(_IO_finish_t, __finish); JUMP_FIELD(_IO_overflow_t, __overflow); JUMP_FIELD(_IO_underflow_t, __underflow); diff --git a/sysdeps/gnu/_G_config.h b/sysdeps/gnu/_G_config.h index 478dbe1f35..a0dc6592c0 100644 --- a/sysdeps/gnu/_G_config.h +++ b/sysdeps/gnu/_G_config.h @@ -83,7 +83,4 @@ typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); #define _G_BUFSIZ 8192 -/* These are the vtbl details for ELF. */ -#define _G_USING_THUNKS 1 - #endif /* _G_config.h */ diff --git a/sysdeps/mach/hurd/_G_config.h b/sysdeps/mach/hurd/_G_config.h index 2f683d4de9..ae10071304 100644 --- a/sysdeps/mach/hurd/_G_config.h +++ b/sysdeps/mach/hurd/_G_config.h @@ -82,7 +82,4 @@ typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); #define _G_BUFSIZ 8192 -/* These are the vtbl details for ELF. */ -#define _G_USING_THUNKS 1 - #endif /* _G_config.h */ |