summaryrefslogtreecommitdiff
path: root/sysdeps/sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-10 19:28:58 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-10 19:28:58 +0000
commitd3a4a571c42d14ad2dfbe8c06bdf02b74d012e94 (patch)
tree2b49bf028e14d47dd3def04e43311eeb8137aeda /sysdeps/sh
parent78678039a4c4575cbb48c9577b4796cf2a05af62 (diff)
Update.
2004-03-10 Jakub Jelinek <jakub@redhat.com> * include/libc-symbols.h [__ASSEMBLY__] (compat_text_section, compat_data_section): Define. * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add attribute_compat_text_section. * sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise. * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob, __old_globfree): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c (__posix_fadvise64_l32): Likewise. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c (__posix_fadvise64_l32): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl): Likewise. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise. * sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32): Likewise. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise. * hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S (__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END. (__novec_swapcontext, __swapcontext_stub): Add compat_text_section. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S (__makecontext_stub): Likewise. (__novec_makecontext): Likewise. Fix name in END () to match function name. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S (__setcontext): Use END instead of PSEUDO_END. (__novec_setcontext): Add compat_text_section. Use END instead of PSEUDO_END, fix the name in END () to match function name. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S (__getcontext, __novec_getcontext): Use END instead of PSEUDO_END. (__novec_getcontext, __getcontext_stub): Add compat_text_section. 2004-03-10 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate. (COPY_UNALIGNED_WORD): Remove cast used as lvalue. 2004-03-10 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
Diffstat (limited to 'sysdeps/sh')
-rw-r--r--sysdeps/sh/dl-machine.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
index 304fbf98f7..a0852a4e71 100644
--- a/sysdeps/sh/dl-machine.h
+++ b/sysdeps/sh/dl-machine.h
@@ -1,5 +1,6 @@
/* Machine-dependent ELF dynamic relocation inline functions. SH version.
- Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+ 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
@@ -417,9 +418,9 @@ _dl_start_user:\n\
static inline void __attribute__ ((unused))
dl_platform_init (void)
{
- if (GL(dl_platform) != NULL && *GL(dl_platform) == '\0')
+ if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0')
/* Avoid an empty string which would disturb us. */
- GL(dl_platform) = NULL;
+ GLRO(dl_platform) = NULL;
}
static inline Elf32_Addr
@@ -460,20 +461,23 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
#define COPY_UNALIGNED_WORD(swp, twp, align) \
{ \
void *__s = (swp), *__t = (twp); \
+ unsigned char *__s1 = __s, *__t1 = __t; \
+ unsigned short *__s2 = __s, *__t2 = __t; \
+ unsigned long *__s4 = __s, *__t4 = __t; \
switch ((align)) \
{ \
case 0: \
- *(unsigned long *) __t = *(unsigned long *) __s; \
+ *__t4 = *__s4; \
break; \
case 2: \
- *((unsigned short *) __t)++ = *((unsigned short *) __s)++; \
- *((unsigned short *) __t) = *((unsigned short *) __s); \
+ *__t2++ = *__s2++; \
+ *__t2 = *__s2; \
break; \
default: \
- *((unsigned char *) __t)++ = *((unsigned char *) __s)++; \
- *((unsigned char *) __t)++ = *((unsigned char *) __s)++; \
- *((unsigned char *) __t)++ = *((unsigned char *) __s)++; \
- *((unsigned char *) __t) = *((unsigned char *) __s); \
+ *__t1++ = *__s1++; \
+ *__t1++ = *__s1++; \
+ *__t1++ = *__s1++; \
+ *__t1 = *__s1; \
break; \
} \
}
@@ -525,7 +529,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
found. */
break;
if (sym->st_size > refsym->st_size
- || (sym->st_size < refsym->st_size && GL(dl_verbose)))
+ || (sym->st_size < refsym->st_size && GLRO(dl_verbose)))
{
const char *strtab;
@@ -593,7 +597,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
rtld.c contains the common defn for _dl_rtld_map, which
is incompatible with a weak decl in the same file. */
# ifndef SHARED
- weak_extern (GL(dl_rtld_map));
+ weak_extern (_dl_rtld_map);
# endif
if (map == &GL(dl_rtld_map))
/* Undo the relocation done here during bootstrapping.