mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-23 12:03:41 +01:00
(HAVE___THREAD): Force it off for now---the per-thread cache uses
about 128KB of thread-local storage for each and every thread, even if a thread never ever needs to unwind its stack. Seems a bit much. (ALWAYS_INLINE): New macro which can be used to force inlining on compilers that support it. (Logical change 1.132)
This commit is contained in:
parent
ef00f9586c
commit
1334cae324
1 changed files with 10 additions and 0 deletions
|
@ -30,6 +30,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE___THREAD
|
||||||
|
/* For now, turn off per-thread caching. It uses up too much TLS
|
||||||
|
memory per thread even when the thread never uses libunwind at
|
||||||
|
all. */
|
||||||
|
# undef HAVE___THREAD
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Platform-independent libunwind-internal declarations. */
|
/* Platform-independent libunwind-internal declarations. */
|
||||||
|
|
||||||
#include <sys/types.h> /* HP-UX needs this before include of pthread.h */
|
#include <sys/types.h> /* HP-UX needs this before include of pthread.h */
|
||||||
|
@ -54,8 +61,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
# define UNUSED __attribute__((unused))
|
# define UNUSED __attribute__((unused))
|
||||||
# if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ > 2)
|
# if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ > 2)
|
||||||
|
# define ALWAYS_INLINE __attribute__((always_inline))
|
||||||
# define HIDDEN __attribute__((visibility ("hidden")))
|
# define HIDDEN __attribute__((visibility ("hidden")))
|
||||||
# else
|
# else
|
||||||
|
# define ALWAYS_INLINE
|
||||||
# define HIDDEN
|
# define HIDDEN
|
||||||
# endif
|
# endif
|
||||||
# if (__GNUC__ >= 3)
|
# if (__GNUC__ >= 3)
|
||||||
|
@ -66,6 +75,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
# define unlikely(x) (x)
|
# define unlikely(x) (x)
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
|
# define ALWAYS_INLINE
|
||||||
# define UNUSED
|
# define UNUSED
|
||||||
# define HIDDEN
|
# define HIDDEN
|
||||||
# define likely(x) (x)
|
# define likely(x) (x)
|
||||||
|
|
Loading…
Reference in a new issue