static __thread variable.
From Alexandre Oliva <aoliva@redhat.com>
2005-09-22 Roland McGrath <roland@redhat.com>
+ * elf/dl-tsd.c (__libc_dl_error_tsd): Use attribute_tls_model_ie for
+ static __thread variable.
+ From Alexandre Oliva <aoliva@redhat.com>
+
* Makefile ($(objpfx)c++-types-check.out): Use $<, not $^, in command.
Reported by Alexandre Oliva <aoliva@redhat.com>.
/* Thread-local data used by error handling for runtime dynamic linker.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
void ** __attribute__ ((const))
__libc_dl_error_tsd (void)
{
- static __thread void *data;
+ static __thread void *data attribute_tls_model_ie;
return &data;
}
+2005-09-22 Roland McGrath <roland@redhat.com>
+
+ * perf.c [__x86_64__] (HP_TIMING_NOW): New macro (copied from
+ ../sysdeps/x86_64/hp-timing.h).
+
2005-08-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_WAKE_OP,
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
#ifdef i386
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("rdtsc" : "=A" (Var))
+#elif defined __x86_64__
+# define HP_TIMING_NOW(Var) \
+ ({ unsigned int _hi, _lo; \
+ asm volatile ("rdtsc" : "=a" (_lo), "=d" (_hi)); \
+ (Var) = ((unsigned long long int) _hi << 32) | _lo; })
#elif defined __ia64__
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("mov %0=ar.itc" : "=r" (Var) : : "memory")
#else