+2002-02-04 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Move
+ dl_cpuclock_offset initialization to _dl_start_final.
+ (_dl_show_auxv): Avoid unnecessary sign extension.
+ * elf/rtld.c (_dl_start_final): Initialize dl_cpuclock_offset.
+
2002-02-03 Ulrich Drepper <drepper@redhat.com>
* config.h.in: Add HAVE_TLS_SUPPORT.
#endif
-static void dl_main (const ElfW(Phdr) *phdr,
- ElfW(Word) phnum,
+static void dl_main (const ElfW(Phdr) *phdr, ElfW(Word) phnum,
ElfW(Addr) *user_entry);
static struct libname_list _dl_rtld_libname;
GL(dl_rtld_map).l_map_start = (ElfW(Addr)) _begin;
GL(dl_rtld_map).l_map_end = (ElfW(Addr)) _end;
+#if HP_TIMING_AVAIL
+ HP_TIMING_NOW (GL(dl_cpuclock_offset));
+#endif
+
/* Call the OS-dependent function to set up life so we can do things like
file access. It will call `dl_main' (below) to do all the real work
of the dynamic linker, and then unwind our frame and run the user
# define set_seen(tag) seen |= M ((tag)->a_type)
#endif
-#if HP_TIMING_AVAIL
- HP_TIMING_NOW (GL(dl_cpuclock_offset));
-#endif
-
DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, _dl_argv, _environ,
_dl_auxv);
const char *val = av->a_un.a_ptr;
if (__builtin_expect (auxvars[idx].form, dec) == dec)
- val = _itoa (av->a_un.a_val, buf + sizeof buf - 1, 10, 0);
+ val = _itoa ((unsigned long int) av->a_un.a_val,
+ buf + sizeof buf - 1, 10, 0);
else if (__builtin_expect (auxvars[idx].form, hex) == hex)
- val = _itoa (av->a_un.a_val, buf + sizeof buf - 1, 16, 0);
+ val = _itoa ((unsigned long int) av->a_un.a_val,
+ buf + sizeof buf - 1, 16, 0);
_dl_printf ("%s%s\n", auxvars[idx].label, val);
}
AC_CACHE_CHECK(for i386 TLS support, libc_cv_386_tls, [dnl
cat > conftest.s <<\EOF
.section ".tdata", "awT", @progbits
+ .globl foo
foo: .long 1
.section ".tbss", "awT", @nobits
- .comm bar,4,4
+ .globl bar
+bar: .skip 4
.text
baz: leal bar@TLSLDM(%ebx), %eax
leal bar@DTPOFF(%eax), %edx