From a05977f8592bf44abbafc96930e0c66bc102308c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 8 May 1998 23:57:12 +0000 Subject: Update. 1998-05-08 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_FIND_ARG_COMPONENTS): Find correct alignment for auxiliary vector. Patch by Mark Hatle and Matt McLean . --- sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c index 9e31ed4096..521ba1ae5c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c @@ -29,22 +29,8 @@ (envp) = (argv) + (argc) + 1; \ for (_tmp = (envp); *_tmp; ++_tmp) \ continue; \ - /* The following '++' is important! */ \ - ++_tmp; \ - if (*_tmp == 0) \ - { \ - size_t _test = (size_t)_tmp; \ - _test = _test + 0xf & ~0xf; \ - /* When ld.so is being run directly, there is no \ - alignment (and no argument vector), so we make a \ - basic sanity check of the argument vector. Of \ - course, this means that in future, the argument \ - vector will have to be laid out to allow for this \ - test :-(. */ \ - if (((ElfW(auxv_t) *)_test)->a_type <= AT_PHDR) \ - _tmp = (char **)_test; \ - } \ - (auxp) = (ElfW(auxv_t) *) _tmp; \ + (auxp) = (void *) ++_tmp; \ + (auxp) = (void *)(((size_t)(auxp) + 0xF) & 0xFFFFFFF0); \ } while (0) -- cgit 1.4.1