diff options
41 files changed, 349 insertions, 291 deletions
diff --git a/ChangeLog b/ChangeLog index 6b0cc05dda..704c672708 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,74 @@ +2005-05-22 Andreas Schwab <schwab@suse.de> + + * elf/rtld.c: Include <dl-osinfo.h>. + +2005-05-17 Alan Modra <amodra@bigpond.net.au> + + * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_RET): Don't use + JUMPTARGET. Instead append @local to __syscall_error. + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Delete all occurrences + of JUMPTARGET. Instead append @local to labels. + * sysdeps/powerpc/powerpc32/bsd-setjmp.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. + * sysdeps/powerpc/powerpc32/ppc-mcount.S: Likewise. + * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise. + + * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Use float constants. + * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Likewise. Use one GOT + slot to access both constants. + * sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise. + + * sysdeps/powerpc/powerpc32/fpu/s_ceil.S (TWO52.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (TWO23.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_floor.S (TWO52.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_floorf.S (TWO23.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Comment typo. + (NEGZERO.0, POINTFIVE.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_rint.S (TWO52.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_rintf.S (TWO23.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Code in .text. + (TWO52.0, POINTFIVE.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Code in .text. + (TWO23.0, POINTFIVE.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Code in .text. + (TWO52.0): Delete. + * sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Code in .text. + (TWO23.0): Delete. + * sysdeps/powerpc/powerpc32/memset.S (memset): Formatting. + +2005-05-19 Richard Henderson <rth@redhat.com> + + * sysdeps/unix/clock_gettime.c (clock_gettime): Fix typo around + CLOCK_REALTIME. + + * sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq, + __arch_compare_and_exchange_bool_64_acq, + __arch_compare_and_exchange_val_32_acq, + __arch_compare_and_exchange_val_64_acq, atomic_exchange_and_add): + Use __sync builtin without _si or _di suffix. + 2005-05-19 Jakub Jelinek <jakub@redhat.com> [BZ #955] * iconvdata/ibm939.c (BODY): Avoid segfaults with input characters <UFFFF> and above. +2005-05-17 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/clock_getcpuclockid.c + (clock_getcpuclockid): Always return a defined value. + 2005-05-17 Neal H. Walfield <neal@gnu.org> * sysdeps/posix/getaddrinfo.c (gaih_local): Check [_HAVE_SA_LEN] diff --git a/elf/rtld.c b/elf/rtld.c index f3e55b6d9a..b7f16f7b37 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -37,6 +37,7 @@ #include "dl-librecon.h" #include <unsecvars.h> #include <dl-cache.h> +#include <dl-osinfo.h> #include <dl-procinfo.h> #include <tls.h> diff --git a/fedora/branch.mk b/fedora/branch.mk index fc9ad2aeef..2eb38d9654 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -1,5 +1,5 @@ # This file is updated automatically by Makefile. glibc-branch := fedora glibc-base := HEAD -fedora-sync-date := 2005-05-20 09:19 UTC -fedora-sync-tag := fedora-glibc-20050520T0919 +fedora-sync-date := 2005-05-23 13:54 UTC +fedora-sync-tag := fedora-glibc-20050523T1354 diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index e3f6123777..35f21921db 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,15 @@ +2005-05-17 Alan Modra <amodra@bigpond.net.au> + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Delete + all occurrences of JUMPTARGET. Instead append @local to labels. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise. + +2005-05-19 Richard Henderson <rth@redhat.com> + + * sysdeps/ia64/pspinlock.c (__pthread_spin_lock): Use + __sync_val_compare_and_swap, not explicit _si variant. + (__pthread_spin_trylock): Likewise. + 2005-05-05 Daniel Jacobowitz <dan@codesourcery.com> * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Remove explicit diff --git a/linuxthreads/sysdeps/ia64/pspinlock.c b/linuxthreads/sysdeps/ia64/pspinlock.c index 14c7f3a181..d61aa3f434 100644 --- a/linuxthreads/sysdeps/ia64/pspinlock.c +++ b/linuxthreads/sysdeps/ia64/pspinlock.c @@ -31,7 +31,7 @@ __pthread_spin_lock (pthread_spinlock_t *lock) { int *p = (int *) lock; - while (__builtin_expect (__sync_val_compare_and_swap_si (p, 0, 1), 0)) + while (__builtin_expect (__sync_val_compare_and_swap (p, 0, 1), 0)) { /* Spin without using the atomic instruction. */ do @@ -46,7 +46,7 @@ weak_alias (__pthread_spin_lock, pthread_spin_lock) int __pthread_spin_trylock (pthread_spinlock_t *lock) { - return __sync_val_compare_and_swap_si ((int *) lock, 0, 1) == 0 ? 0 : EBUSY; + return __sync_val_compare_and_swap ((int *) lock, 0, 1) == 0 ? 0 : EBUSY; } weak_alias (__pthread_spin_trylock, pthread_spin_trylock) diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h index 0ee10c1c3a..ea0c1f9f37 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h @@ -76,14 +76,14 @@ # define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_5 # ifdef IS_IN_libpthread -# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel) -# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel) +# define CENABLE bl __pthread_enable_asynccancel@local +# define CDISABLE bl __pthread_disable_asynccancel@local # elif !defined NOT_IN_libc -# define CENABLE bl JUMPTARGET(__libc_enable_asynccancel) -# define CDISABLE bl JUMPTARGET(__libc_disable_asynccancel) +# define CENABLE bl __libc_enable_asynccancel@local +# define CDISABLE bl __libc_disable_asynccancel@local # else -# define CENABLE bl JUMPTARGET(__librt_enable_asynccancel) -# define CDISABLE bl JUMPTARGET(__librt_disable_asynccancel) +# define CENABLE bl __librt_enable_asynccancel@local +# define CDISABLE bl __librt_disable_asynccancel@local # endif # ifdef HAVE_TLS_SUPPORT diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S index ee6254a950..920c45eee2 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S +++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S @@ -69,7 +69,7 @@ ENTRY (__vfork) bnslr+ .Lsyscall_error: - b JUMPTARGET(__syscall_error) + b __syscall_error@local #endif PSEUDO_END (__vfork) diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 411f86656e..d5b6cdd26e 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,7 @@ +2005-05-22 Ulrich Drepper <drepper@redhat.com> + + * locales/mn_MN: Update. Patch by Sanlig Badral <s_badral@yahoo.com>. + 2005-04-28 Jakub Jelinek <jakub@redhat.com> * SUPPORTED: Add UTF-8 locales where UTF-8 was not already supported. diff --git a/localedata/locales/mn_MN b/localedata/locales/mn_MN index 5bea18cc4b..2921487314 100644 --- a/localedata/locales/mn_MN +++ b/localedata/locales/mn_MN @@ -1,25 +1,27 @@ -comment_char % escape_char / +comment_char % % Mongolian language (cyrillic) locale for Mongolia % Sanlig Badral <badral@chinggis.com> -% Revision: 0.9 (2003-2-27) +% Revision: 1.0 (2005-5-21) % Charsets: UTF-8 % Distribution and use is free, also % for commercial purposes. LC_IDENTIFICATION title "Mongolian locale for Mongolia" -source "OPENMN" +source "Sanlig Badral" address "" contact "" -email "bug-glibc-locales@gnu.org" +email "badral@chinggis.com" tel "" fax "" language "Mongolian" territory "Mongolia" -revision "0.9" -date "2003-02-27" - +revision "1.0" +date "2005-05-21" +audience "general" +application "GNU locale" +% category "mn_MN:2000";LC_IDENTIFICATION category "mn_MN:2000";LC_CTYPE category "mn_MN:2000";LC_COLLATE @@ -64,6 +66,82 @@ END LC_COLLATE LC_CTYPE copy "i18n" +translit_start +include "translit_combining";"" +% cyrillic -> latin for mongolian +% CYRILLIC CAPITAL LETTERS IN ALPHABETICAL ORDER. +<U0410> "<U0041>" +<U0411> "<U0042>" +<U0412> "<U0056>" +<U0413> "<U0047>" +<U0414> "<U0044>" +<U0415> "<U0059><U0065>" % Ye +<U0401> "<U0059><U006F>" % Yo +<U0416> "<U004A>" +<U0417> "<U005A>" +<U0418> "<U0049>" +<U0419> "<U0049>" +<U041A> "<U004B>" +<U041B> "<U004C>" +<U041C> "<U004D>" +<U041D> "<U004E>" +<U041E> "<U004F>" +<U04E8> "<U004F><U0065>" % Oe +<U041F> "<U0050>" +<U0420> "<U0052>" +<U0421> "<U0053>" +<U0422> "<U0054>" +<U0423> "<U0055>" +<U04AE> "<U0055><U0065>" % Ue +<U0424> "<U0046>" +<U0425> "<U0048>" +<U0426> "<U0043>" +<U0427> "<U0043><U0068>" % Ch +<U0428> "<U0053><U0068>" % Sh +<U0429> "<U0053><U0068>" % Sh +<U042A> "<U0022>" % " +<U042B> "<U0059>" +<U042C> "<U0027>" % ' +<U042D> "<U0045>" +<U042E> "<U0059><U0075>" % Yu +<U042F> "<U0059><U0061>" % Ya +% CYRILLIC SMALL LETTERS IN ALPHABETICAL ORDER. +<U0430> "<U0061>" +<U0431> "<U0062>" +<U0432> "<U0076>" +<U0433> "<U0067>" +<U0434> "<U0064>" +<U0435> "<U0079><U0065>" %ye +<U0451> "<U0079><U006F>" %yo +<U0436> "<U006A>" +<U0437> "<U007A>" +<U0438> "<U0069>" +<U0439> "<U0069>" +<U043A> "<U006B>" +<U043B> "<U006C>" +<U043C> "<U006D>" +<U043D> "<U006E>" +<U043E> "<U006F>" +<U04E9> "<U006F><U0065>" % oe +<U043F> "<U0070>" +<U0440> "<U0072>" +<U0441> "<U0073>" +<U0442> "<U0074>" +<U0443> "<U0075>" +<U04AF> "<U0075><U0065>" % ue +<U0444> "<U0066>" +<U0445> "<U0068>" +<U0446> "<U0043>" +<U0447> "<U0063><U0068>" % ch +<U0448> "<U0073><U0068>" % sh +<U0449> "<U0073><U0068>" % sh +<U044A> "<U0022>" % " +<U044B> "<U0079>" +<U044C> "<U0027>" % ' +<U044D> "<U0065>" +<U044E> "<U0079><U0075>" % yu +<U044F> "<U0079><U0061>" % ya +translit_end END LC_CTYPE LC_MONETARY @@ -106,28 +184,28 @@ day "<U041D><U044F><U043C>";/ "<U0411><U0430><U0430><U0441><U0430><U043D>";/ "<U0411><U044F><U043C><U0431><U0430>" % Abbreviated month names (%b) -abmon "<U0031><U002D><U0440>";"<U0032><U002D><U0440>";/ - "<U0033><U002D><U0440>";"<U0034><U002D><U0440>";/ - "<U0035><U002D><U0440>";"<U0036><U002D><U0440>";/ - "<U0037><U002D><U0440>";"<U0038><U002D><U0440>";/ - "<U0039><U002D><U0440>";"<U0031><U0030><U002D><U0440>";/ - "<U0031><U0031><U002D><U0440>";"<U0031><U0032><U002D><U0440>" +abmon "<U0425><U0443><U043B>";"<U04AE><U0445><U044D>";/ + "<U0411><U0430><U0440>";"<U0422><U0443><U0443>";/ + "<U041B><U0443><U0443>";"<U041C><U043E><U0433>";/ + "<U041C><U043E><U0440>";"<U0425><U043E><U043D>";/ + "<U0411><U0438><U0447>";"<U0422><U0430><U0445>";/ + "<U041D><U043E><U0445>";"<U0413><U0430><U0445>" % Full month names (%B) -mon "<U041D><U044D><U0433><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ - "<U0425><U043E><U0451><U0440><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U0413><U0443><U0440><U0430><U0432><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U0414><U04E9><U0440><U04E9><U0432><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ - "<U0422><U0430><U0432><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U0417><U0443><U0440><U0433><U0430><U0430><U0434><U0443><U0433><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U0414><U043E><U043B><U043E><U043E><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U041D><U0430><U0439><U043C><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U0415><U0441><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ - "<U0410><U0440><U0430><U0432><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ - "<U0410><U0440><U0432><U0430><U043D><U043D><U044D><U0433><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ - "<U0410><U0440><U0432><U0430><U043D><U0445><U043E><U0451><U0440><U0434><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>" +mon "<U0425><U0443><U043B><U0433><U0430><U043D><U0430><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U04AE><U0445><U044D><U0440><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U0411><U0430><U0440><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U0422><U0443><U0443><U043B><U0430><U0439><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U041B><U0443><U0443><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U041C><U043E><U0433><U043E><U0439><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U041C><U043E><U0440><U044C><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U0425><U043E><U043D><U044C><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U0411><U0438><U0447><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U0422><U0430><U0445><U0438><U0430><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U041D><U043E><U0445><U043E><U0439><U0020><U0441><U0430><U0440><U044B><U043D>";/ + "<U0413><U0430><U0445><U0430><U0439><U0020><U0441><U0430><U0440><U044B><U043D>" % Appropriate date and time representation -% "%a %d %b %Y %T %Z" -d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" +% "%Y %b %d, %a %T" +d_t_fmt "<U0025><U0059><U0020><U0025><U0062><U0020><U0025><U0064><U002C><U0020><U0025><U0061><U0020><U0025><U0054>" % Appropriate date representation % "%Y.%m.%d" @@ -139,8 +217,9 @@ t_fmt "<U0025><U0054>" am_pm "";"" t_fmt_ampm "" % Full date and time representation -% "%a %b %e %H:%M:%S %Z %Y" -date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>" +% "%Z %Y ony %B %e, %a %H:%M:%S" +date_fmt "<U0025><U005A><U0020><U0025><U0059><U0020><U043E><U043D><U044B><U0020><U0025><U0042><U0020>";/ + "<U0025><U0065><U002C><U0020><U0025><U0061><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053>" END LC_TIME LC_MESSAGES @@ -157,7 +236,6 @@ END LC_PAPER LC_NAME name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ <U0025><U006D><U0025><U0074><U0025><U0066>" - name_miss "<U0425><U0430><U0442><U0430><U0433><U0442><U0430><U0439>" name_mr "<U041D><U043E><U0451><U043D>" name_mrs "<U0425><U0430><U0442><U0430><U0433><U0442><U0430><U0439>" @@ -170,7 +248,6 @@ postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ <U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ <U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ <U004E><U0025><U0063><U0025><U004E>" - country_name "<U004D><U006F><U006E><U0067><U006F><U006C><U0069><U0061>" country_post "<U004D><U004E>" country_ab2 "<U004D><U004E>" diff --git a/nptl/ChangeLog b/nptl/ChangeLog index d5d6dad89e..82d01308fc 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2005-05-17 Alan Modra <amodra@bigpond.net.au> + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Delete + all occurrences of JUMPTARGET. Instead append @local to labels. + 2005-05-20 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN): Define to @@ -9,6 +14,12 @@ * sysdeps/sparc/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN): Likewise. +2005-05-19 Richard Henderson <rth@redhat.com> + + * sysdeps/ia64/pthread_spin_lock.c (pthread_spin_lock): Use + __sync_val_compare_and_swap, not explicit _si variant. + * sysdeps/ia64/pthread_spin_trylock.c (pthread_spin_trylock): Likewise. + 2005-05-03 Ulrich Drepper <drepper@redhat.com> [BZ #915] diff --git a/nptl/sysdeps/ia64/pthread_spin_lock.c b/nptl/sysdeps/ia64/pthread_spin_lock.c index 71aaef9451..7d25af7c4b 100644 --- a/nptl/sysdeps/ia64/pthread_spin_lock.c +++ b/nptl/sysdeps/ia64/pthread_spin_lock.c @@ -25,7 +25,7 @@ pthread_spin_lock (lock) { int *p = (int *) lock; - while (__builtin_expect (__sync_val_compare_and_swap_si (p, 0, 1), 0)) + while (__builtin_expect (__sync_val_compare_and_swap (p, 0, 1), 0)) { /* Spin without using the atomic instruction. */ do diff --git a/nptl/sysdeps/ia64/pthread_spin_trylock.c b/nptl/sysdeps/ia64/pthread_spin_trylock.c index b7cbf14782..0fd8b99b7a 100644 --- a/nptl/sysdeps/ia64/pthread_spin_trylock.c +++ b/nptl/sysdeps/ia64/pthread_spin_trylock.c @@ -24,5 +24,5 @@ int pthread_spin_trylock (lock) pthread_spinlock_t *lock; { - return __sync_val_compare_and_swap_si ((int *) lock, 0, 1) == 0 ? 0 : EBUSY; + return __sync_val_compare_and_swap ((int *) lock, 0, 1) == 0 ? 0 : EBUSY; } diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h index 7f5ba4aeef..c61b3a66bb 100644 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h @@ -85,14 +85,14 @@ # define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_5 # ifdef IS_IN_libpthread -# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel) -# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel) +# define CENABLE bl __pthread_enable_asynccancel@local +# define CDISABLE bl __pthread_disable_asynccancel@local # elif !defined NOT_IN_libc -# define CENABLE bl JUMPTARGET(__libc_enable_asynccancel) -# define CDISABLE bl JUMPTARGET(__libc_disable_asynccancel) +# define CENABLE bl __libc_enable_asynccancel@local +# define CDISABLE bl __libc_disable_asynccancel@local # elif defined IS_IN_librt -# define CENABLE bl JUMPTARGET(__librt_enable_asynccancel) -# define CDISABLE bl JUMPTARGET(__librt_disable_asynccancel) +# define CENABLE bl __librt_enable_asynccancel@local +# define CDISABLE bl __librt_disable_asynccancel@local # else # error Unsupported library # endif diff --git a/sysdeps/ia64/bits/atomic.h b/sysdeps/ia64/bits/atomic.h index e7d312c539..1020c2f229 100644 --- a/sysdeps/ia64/bits/atomic.h +++ b/sysdeps/ia64/bits/atomic.h @@ -52,12 +52,12 @@ typedef uintmax_t uatomic_max_t; (abort (), 0) #define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \ - (!__sync_bool_compare_and_swap_si ((void *) (mem), (int) (long) (oldval), \ - (int) (long) (newval))) + (!__sync_bool_compare_and_swap ((mem), (int) (long) (oldval), \ + (int) (long) (newval))) #define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \ - (!__sync_bool_compare_and_swap_di ((void *) (mem), (long) (oldval), \ - (long) (newval))) + (!__sync_bool_compare_and_swap ((mem), (long) (oldval), \ + (long) (newval))) #define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \ (abort (), (__typeof (*mem)) 0) @@ -66,12 +66,11 @@ typedef uintmax_t uatomic_max_t; (abort (), (__typeof (*mem)) 0) #define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \ - __sync_val_compare_and_swap_si ((void *) (mem), (int) (long) (oldval), \ - (int) (long) (newval)) + __sync_val_compare_and_swap ((mem), (int) (long) (oldval), \ + (int) (long) (newval)) #define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \ - __sync_val_compare_and_swap_di ((void *) (mem), (long) (oldval), \ - (long) (newval)) + __sync_val_compare_and_swap ((mem), (long) (oldval), (long) (newval)) /* Atomically store newval and return the old value. */ #define atomic_exchange_acq(mem, value) \ @@ -80,15 +79,9 @@ typedef uintmax_t uatomic_max_t; #define atomic_exchange_rel(mem, value) \ (__sync_synchronize (), __sync_lock_test_and_set (mem, value)) - #define atomic_exchange_and_add(mem, value) \ ({ __typeof (*mem) __result; \ - if (sizeof (*mem) == 4) \ - __result = __sync_fetch_and_add_si ((void *) (mem), (int) (value)); \ - else if (sizeof (*mem) == 8) \ - __result = __sync_fetch_and_add_di ((void *) (mem), (long) (value)); \ - else \ - abort (); \ + __result = __sync_fetch_and_add ((mem), (int) (value)); \ __result; }) #define atomic_decrement_if_positive(mem) \ diff --git a/sysdeps/powerpc/powerpc32/bsd-_setjmp.S b/sysdeps/powerpc/powerpc32/bsd-_setjmp.S index 50deda8c90..4c28c2e547 100644 --- a/sysdeps/powerpc/powerpc32/bsd-_setjmp.S +++ b/sysdeps/powerpc/powerpc32/bsd-_setjmp.S @@ -26,7 +26,7 @@ /* Build a non-versioned object for rtld-*. */ ENTRY (BP_SYM (_setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__sigsetjmp)) + b BP_SYM (__sigsetjmp@local) END (BP_SYM (_setjmp)) libc_hidden_def (_setjmp) #else @@ -37,7 +37,7 @@ symbol_version (__novmx_setjmp,_setjmp,GLIBC_2.0); ENTRY (BP_SYM (__novmx_setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__novmx__sigsetjmp)) + b BP_SYM (__novmx__sigsetjmp@local) END (BP_SYM (__novmx_setjmp)) libc_hidden_def (__novmx_setjmp) # endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */ @@ -48,12 +48,12 @@ default_symbol_version (__vmx_setjmp,_setjmp,GLIBC_2.3.4) if HAVE_CLEANUP_JMP_BUF is defined */ ENTRY (BP_SYM (__GI__setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__vmx__sigsetjmp)) + b BP_SYM (__vmx__sigsetjmp@local) END (BP_SYM (__GI__setjmp)) ENTRY (BP_SYM (__vmx_setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__vmx__sigsetjmp)) + b BP_SYM (__vmx__sigsetjmp@local) END (BP_SYM (__vmx_setjmp)) libc_hidden_def (__vmx_setjmp) #endif /* !NOT_IN_libc */ diff --git a/sysdeps/powerpc/powerpc32/bsd-setjmp.S b/sysdeps/powerpc/powerpc32/bsd-setjmp.S index 159b122ca5..01b195d832 100644 --- a/sysdeps/powerpc/powerpc32/bsd-setjmp.S +++ b/sysdeps/powerpc/powerpc32/bsd-setjmp.S @@ -25,7 +25,7 @@ ENTRY (__novmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (__novmx__sigsetjmp) + b __novmx__sigsetjmp@local END (__novmxsetjmp) strong_alias (__novmxsetjmp, __novmx__setjmp) symbol_version (__novmxsetjmp, setjmp, GLIBC_2.0) @@ -34,7 +34,7 @@ symbol_version (__novmxsetjmp, setjmp, GLIBC_2.0) ENTRY (__vmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (__vmx__sigsetjmp) + b __vmx__sigsetjmp@local END (__vmxsetjmp) strong_alias (__vmxsetjmp, __vmx__setjmp) strong_alias (__vmx__setjmp, __setjmp) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_ceil.S b/sysdeps/powerpc/powerpc32/fpu/s_ceil.S index 22cf76e54c..7924e34648 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_ceil.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_ceil.S @@ -19,19 +19,10 @@ #include <sysdep.h> - .section .rodata - .align 3 - .type TWO52.0,@object - .size TWO52.0,8 -TWO52.0: - .long 0x43300000 - .long 0 - - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .section ".text" ENTRY (__ceil) @@ -42,10 +33,10 @@ ENTRY (__ceil) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S b/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S index e7a72186c9..9315d8d2df 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S @@ -19,13 +19,6 @@ #include <sysdep.h> - .section .rodata - .align 2 - .type TWO23.0,@object - .size TWO23.0,4 -TWO23.0: - .long 0x4b000000 - .section .rodata.cst4,"aM",@progbits,4 .align 2 .LC0: /* 2**23 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_floor.S b/sysdeps/powerpc/powerpc32/fpu/s_floor.S index 812ea7ced2..c8f59c24a6 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_floor.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_floor.S @@ -19,19 +19,10 @@ #include <sysdep.h> - .section .rodata - .align 3 - .type TWO52.0,@object - .size TWO52.0,8 -TWO52.0: - .long 0x43300000 - .long 0 - - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .section ".text" ENTRY (__floor) @@ -42,10 +33,10 @@ ENTRY (__floor) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_floorf.S b/sysdeps/powerpc/powerpc32/fpu/s_floorf.S index ead41d4657..8ee0644ac9 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_floorf.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_floorf.S @@ -19,13 +19,6 @@ #include <sysdep.h> - .section .rodata - .align 2 - .type TWO23.0,@object - .size TWO23.0,4 -TWO23.0: - .long 0x4b000000 - .section .rodata.cst4,"aM",@progbits,4 .align 2 .LC0: /* 2**23 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/fpu/s_lround.S index dcb97e373b..72fd49ba46 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_lround.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_lround.S @@ -19,27 +19,12 @@ #include <sysdep.h> - .section .rodata - .align 3 - .type NEGZERO.0,@object - .size NEGZERO.0,8 -NEGZERO.0: - .long 0x00000000 - .long 0 - .type POINTFIVE.0,@object - .size POINTFIVE.0,8 -POINTFIVE.0: - .long 0x3fe00000 - .long 0 - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .align 2 .LC0: /* 0.0 */ .long 0x00000000 - .long 0 .LC1: /* 0.5 */ - .long 0x3fe00000 - .long 0 + .long 0x3f000000 .section ".text" @@ -60,17 +45,16 @@ ENTRY (__lround) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp12,0(r9) + lfs fp12,0(r9) #else lis r9,.LC0@ha - lfd fp12,.LC0@l(r9) + lfs fp12,.LC0@l(r9) #endif #ifdef SHARED - lwz r9,.LC1@got(10) - lfd fp10,0(r9) + lfs fp10,.LC1-.LC0(r9) #else lis r9,.LC1@ha - lfd fp10,.LC1@l(r9) + lfs fp10,.LC1@l(r9) #endif fcmpu cr6,fp1,fp12 /* if (x > 0.0) */ ble- cr6,.L4 @@ -78,8 +62,8 @@ ENTRY (__lround) .L9: fctiwz fp2,fp1 /* Convert To Integer DW lround toward 0. */ stfd fp2,-8(r1) - nop /* Insure the following load is in a different dispatch group */ - nop /* to avoid pipe stall on POWER4&5. */ + nop /* Ensure the following load is in a different dispatch */ + nop /* group to avoid pipe stall on POWER4&5. */ nop lwz r3,-4(r1) blr diff --git a/sysdeps/powerpc/powerpc32/fpu/s_rint.S b/sysdeps/powerpc/powerpc32/fpu/s_rint.S index fa02dbc59c..4abdcedfe8 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_rint.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_rint.S @@ -22,19 +22,10 @@ #include <sysdep.h> - .section .rodata - .align 3 - .type TWO52.0,@object - .size TWO52.0,8 -TWO52.0: - .long 0x43300000 - .long 0 - - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .section ".text" ENTRY (__rint) @@ -44,10 +35,10 @@ ENTRY (__rint) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_rintf.S b/sysdeps/powerpc/powerpc32/fpu/s_rintf.S index 7825951268..d02bd066b8 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_rintf.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_rintf.S @@ -19,14 +19,6 @@ #include <sysdep.h> - - .section .rodata - .align 2 - .type TWO23.0,@object - .size TWO23.0,4 -TWO23.0: - .long 0x4b000000 - .section .rodata.cst4,"aM",@progbits,4 .align 2 .LC0: /* 2**23 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_round.S b/sysdeps/powerpc/powerpc32/fpu/s_round.S index 39eab232f6..96fc2984fd 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_round.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_round.S @@ -19,27 +19,12 @@ #include <sysdep.h> - .section .rodata - .align 3 - .type TWO52.0,@object - .size TWO52.0,8 -TWO52.0: - .long 0x43300000 - .long 0 - .type POINTFIVE.0,@object - .size POINTFIVE.0,8 -POINTFIVE.0: - .long 0x3fe00000 - .long 0 - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .LC1: /* 0.5 */ - .long 0x3fe00000 - .long 0 + .long 0x3f000000 /* double [fp1] round (double x [fp1]) IEEE 1003.1 round function. IEEE specifies "round to the nearest @@ -51,6 +36,7 @@ POINTFIVE.0: "Round toward Zero" mode and round by adding +-0.5 before rounding to the integer value. */ + .section ".text" ENTRY (__round) mffs fp11 /* Save current FPU rounding mode. */ #ifdef SHARED @@ -59,10 +45,10 @@ ENTRY (__round) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ @@ -71,11 +57,10 @@ ENTRY (__round) bnllr- cr7 mtfsfi 7,1 /* Set rounding mode toward 0. */ #ifdef SHARED - lwz r9,.LC1@got(10) - lfd fp10,0(r9) + lfs fp10,.LC1-.LC0(r9) #else lis r9,.LC1@ha - lfd fp10,.LC1@l(r9) + lfs fp10,.LC1@l(r9) #endif ble- cr6,.L4 fadd fp1,fp1,fp10 /* x+= 0.5; */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_roundf.S b/sysdeps/powerpc/powerpc32/fpu/s_roundf.S index a9b42f0170..87965dea80 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_roundf.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_roundf.S @@ -19,19 +19,8 @@ #include <sysdep.h> - .section .rodata - .align 2 - .type TWO23.0,@object - .size TWO23.0,4 -TWO23.0: - .long 0x4b000000 - .type POINTFIVE.0,@object - .size POINTFIVE.0,4 -POINTFIVE.0: - .long 0x3f000000 - - .section .rodata.cst4,"aM",@progbits,4 - .align 2 + .section .rodata.cst8,"aM",@progbits,8 + .align 2 .LC0: /* 2**23 */ .long 0x4b000000 .LC1: /* 0.5 */ @@ -47,6 +36,7 @@ POINTFIVE.0: "Round toward Zero" mode and round by adding +-0.5 before rounding to the integer value. */ + .section ".text" ENTRY (__roundf ) mffs fp11 /* Save current FPU rounding mode. */ #ifdef SHARED @@ -67,8 +57,7 @@ ENTRY (__roundf ) bnllr- cr7 mtfsfi 7,1 /* Set rounding mode toward 0. */ #ifdef SHARED - lwz r9,.LC1@got(10) - lfs fp10,0(r9) + lfs fp10,.LC1-.LC0(r9) #else lis r9,.LC1@ha lfs fp10,.LC1@l(r9) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_trunc.S b/sysdeps/powerpc/powerpc32/fpu/s_trunc.S index 08acc00cb2..7a3e705a81 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_trunc.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_trunc.S @@ -19,19 +19,10 @@ #include <sysdep.h> - .section .rodata - .align 3 - .type TWO52.0,@object - .size TWO52.0,8 -TWO52.0: - .long 0x43300000 - .long 0 - - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 /* double [fp1] trunc (double x [fp1]) IEEE 1003.1 trunc function. IEEE specifies "trunc to the integer @@ -40,6 +31,7 @@ TWO52.0: We set "round toward Zero" mode and trunc by adding +-2**52 then subtracting +-2**52. */ + .section ".text" ENTRY (__trunc) mffs fp11 /* Save current FPU rounding mode. */ #ifdef SHARED @@ -48,10 +40,10 @@ ENTRY (__trunc) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_truncf.S b/sysdeps/powerpc/powerpc32/fpu/s_truncf.S index 3b6fe731b4..5275c69d29 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_truncf.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_truncf.S @@ -19,13 +19,6 @@ #include <sysdep.h> - .section .rodata - .align 2 - .type TWO23.0,@object - .size TWO23.0,2 -TWO23.0: - .long 0x4b000000 - .section .rodata.cst4,"aM",@progbits,4 .align 2 .LC0: /* 2**23 */ @@ -38,6 +31,7 @@ TWO23.0: We set "round toward Zero" mode and trunc by adding +-2**23 then subtracting +-2**23. */ + .section ".text" ENTRY (__truncf) mffs fp11 /* Save current FPU rounding mode. */ #ifdef SHARED diff --git a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S index 77ee05f487..e0c0606da4 100644 --- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S @@ -164,5 +164,5 @@ L(aligned_save_vmx): stvx 31,0,r6 L(no_vmx): #endif - b JUMPTARGET (BP_SYM (__sigjmp_save)) + b BP_SYM (__sigjmp_save@local) END (BP_SYM (__sigsetjmp)) diff --git a/sysdeps/powerpc/powerpc32/memset.S b/sysdeps/powerpc/powerpc32/memset.S index 53f1143320..4c0edc8e45 100644 --- a/sysdeps/powerpc/powerpc32/memset.S +++ b/sysdeps/powerpc/powerpc32/memset.S @@ -140,7 +140,7 @@ L(nondcbz): /* We can't use dcbz here as we don't know the cache line size. We can use "data cache block touch for store", which is safe. */ -L(c3): dcbtst rNEG64, rMEMP +L(c3): dcbtst rNEG64, rMEMP stw rCHR, -4(rMEMP) stw rCHR, -8(rMEMP) stw rCHR, -12(rMEMP) @@ -166,7 +166,7 @@ L(cloopdone): add rMEMP, rMEMP, rALIGN b L(medium_tail2) /* 72nd instruction from .align */ - .align 5 + .align 5 nop /* Clear cache lines of memory in 128-byte chunks. This code is optimized for processors with 32-byte cache lines. @@ -200,7 +200,7 @@ L(zloop): beqlr cr5 b L(medium_tail2) - .align 5 + .align 5 L(small): /* Memset of 4 bytes or less. */ cmplwi cr5, rLEN, 1 @@ -218,7 +218,7 @@ L(small): blr /* Memset of 0-31 bytes. */ - .align 5 + .align 5 L(medium): cmplwi cr1, rLEN, 16 L(medium_tail2): @@ -258,70 +258,70 @@ L(medium_28t): L(checklinesize): #ifdef SHARED - mflr rTMP + mflr rTMP /* If the remaining length is less the 32 bytes then don't bother getting - the cache line size. */ + the cache line size. */ beq L(medium) /* Establishes GOT addressability so we can load __cache_line_size from static. This value was set from the aux vector during startup. */ - bl _GLOBAL_OFFSET_TABLE_@local-4 - mflr rGOT - lwz rGOT,__cache_line_size@got(rGOT) - lwz rCLS,0(rGOT) - mtlr rTMP + bl _GLOBAL_OFFSET_TABLE_@local-4 + mflr rGOT + lwz rGOT,__cache_line_size@got(rGOT) + lwz rCLS,0(rGOT) + mtlr rTMP #else /* Load __cache_line_size from static. This value was set from the aux vector during startup. */ - lis rCLS,__cache_line_size@ha + lis rCLS,__cache_line_size@ha /* If the remaining length is less the 32 bytes then don't bother getting - the cache line size. */ + the cache line size. */ beq L(medium) - lwz rCLS,__cache_line_size@l(rCLS) + lwz rCLS,__cache_line_size@l(rCLS) #endif -/*If the cache line size was not set then goto to L(nondcbz), which is - safe for any cache line size. */ - cmplwi cr1,rCLS,0 +/* If the cache line size was not set then goto to L(nondcbz), which is + safe for any cache line size. */ + cmplwi cr1,rCLS,0 beq cr1,L(nondcbz) /* If the cache line size is 32 bytes then goto to L(zloopstart), - which is coded specificly for 32-byte lines (and 601). */ - cmplwi cr1,rCLS,32 + which is coded specificly for 32-byte lines (and 601). */ + cmplwi cr1,rCLS,32 beq cr1,L(zloopstart) /* Now we know the cache line size and it is not 32-bytes. However - we may not yet be aligned to the cache line and may have a partial - line to fill. Touch it 1st to fetch the cache line. */ - dcbtst 0,rMEMP + we may not yet be aligned to the cache line and may have a partial + line to fill. Touch it 1st to fetch the cache line. */ + dcbtst 0,rMEMP - addi rCLM,rCLS,-1 + addi rCLM,rCLS,-1 L(getCacheAligned): - cmplwi cr1,rLEN,32 - and. rTMP,rCLM,rMEMP - blt cr1,L(handletail32) - beq L(cacheAligned) + cmplwi cr1,rLEN,32 + and. rTMP,rCLM,rMEMP + blt cr1,L(handletail32) + beq L(cacheAligned) /* We are not aligned to start of a cache line yet. Store 32-byte of data and test again. */ - addi rMEMP,rMEMP,32 - addi rLEN,rLEN,-32 - stw rCHR,-32(rMEMP) - stw rCHR,-28(rMEMP) - stw rCHR,-24(rMEMP) - stw rCHR,-20(rMEMP) - stw rCHR,-16(rMEMP) - stw rCHR,-12(rMEMP) - stw rCHR,-8(rMEMP) - stw rCHR,-4(rMEMP) - b L(getCacheAligned) + addi rMEMP,rMEMP,32 + addi rLEN,rLEN,-32 + stw rCHR,-32(rMEMP) + stw rCHR,-28(rMEMP) + stw rCHR,-24(rMEMP) + stw rCHR,-20(rMEMP) + stw rCHR,-16(rMEMP) + stw rCHR,-12(rMEMP) + stw rCHR,-8(rMEMP) + stw rCHR,-4(rMEMP) + b L(getCacheAligned) /* Now we are aligned to the cache line and can use dcbz. */ L(cacheAligned): - cmplw cr1,rLEN,rCLS - blt cr1,L(handletail32) - dcbz 0,rMEMP - subf rLEN,rCLS,rLEN - add rMEMP,rMEMP,rCLS - b L(cacheAligned) + cmplw cr1,rLEN,rCLS + blt cr1,L(handletail32) + dcbz 0,rMEMP + subf rLEN,rCLS,rLEN + add rMEMP,rMEMP,rCLS + b L(cacheAligned) /* We are here because; the cache line size was set, it was not 32-bytes, and the remainder (rLEN) is now less than the actual cache @@ -329,7 +329,7 @@ L(cacheAligned): store the remaining bytes. */ L(handletail32): clrrwi. rALIGN, rLEN, 5 - b L(nondcbz) + b L(nondcbz) END (BP_SYM (memset)) libc_hidden_builtin_def (memset) diff --git a/sysdeps/powerpc/powerpc32/ppc-mcount.S b/sysdeps/powerpc/powerpc32/ppc-mcount.S index a72d676bbe..314c8ee703 100644 --- a/sysdeps/powerpc/powerpc32/ppc-mcount.S +++ b/sysdeps/powerpc/powerpc32/ppc-mcount.S @@ -62,7 +62,7 @@ ENTRY(_mcount) stw r10,40(r1) stw r4, 44(r1) stw r5, 8(r1) - bl JUMPTARGET(__mcount_internal) + bl __mcount_internal@local nop /* Restore the registers... */ lwz r6, 8(r1) diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S index 40f626498c..ad7113f461 100644 --- a/sysdeps/powerpc/powerpc32/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/setjmp-common.S @@ -55,5 +55,5 @@ ENTRY (BP_SYM (__sigsetjmp)) stw r29,((JB_GPRS+15)*4)(3) stw r30,((JB_GPRS+16)*4)(3) stw r31,((JB_GPRS+17)*4)(3) - b JUMPTARGET (BP_SYM (__sigjmp_save)) + b BP_SYM (__sigjmp_save@local) END (BP_SYM (__sigsetjmp)) diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h index 59761f75b9..775073f325 100644 --- a/sysdeps/powerpc/powerpc32/sysdep.h +++ b/sysdeps/powerpc/powerpc32/sysdep.h @@ -124,7 +124,7 @@ #define PSEUDO_RET \ bnslr+; \ - b JUMPTARGET(__syscall_error) + b __syscall_error@local #define ret PSEUDO_RET #undef PSEUDO_END diff --git a/sysdeps/unix/clock_gettime.c b/sysdeps/unix/clock_gettime.c index b7b0428e0b..c8cef55fac 100644 --- a/sysdeps/unix/clock_gettime.c +++ b/sysdeps/unix/clock_gettime.c @@ -1,5 +1,5 @@ /* clock_gettime -- Get the current time from a POSIX clockid_t. Unix version. - Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. + Copyright (C) 1999-2004, 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 @@ -100,7 +100,7 @@ clock_gettime (clockid_t clock_id, struct timespec *tp) SYSDEP_GETTIME; #endif -#ifndef HANDLED_REALTIME +#ifdef HANDLED_REALTIME case CLOCK_REALTIME: HANDLE_REALTIME; break; diff --git a/sysdeps/unix/sysv/linux/clock_getcpuclockid.c b/sysdeps/unix/sysv/linux/clock_getcpuclockid.c index ac893c0a77..2e5d2e7aee 100644 --- a/sysdeps/unix/sysv/linux/clock_getcpuclockid.c +++ b/sysdeps/unix/sysv/linux/clock_getcpuclockid.c @@ -1,5 +1,5 @@ /* clock_getcpuclockid -- Get a clockid_t for process CPU time. Linux version. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 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 @@ -38,11 +38,11 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id) # if !(__ASSUME_POSIX_CPU_TIMERS > 0) extern int __libc_missing_posix_cpu_timers attribute_hidden; -# if !(__ASSUME_POSIX_TIMERS > 0) +# if !(__ASSUME_POSIX_TIMERS > 0) extern int __libc_missing_posix_timers attribute_hidden; if (__libc_missing_posix_timers && !__libc_missing_posix_cpu_timers) __libc_missing_posix_cpu_timers = 1; -# endif +# endif if (!__libc_missing_posix_cpu_timers) # endif { @@ -82,7 +82,7 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id) else return INTERNAL_SYSCALL_ERRNO (r, err); } -# endif +#endif /* We don't allow any process ID but our own. */ if (pid != 0 && pid != getpid ()) @@ -96,8 +96,8 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id) return 0; } -#else +#endif + /* We don't have a timer for that. */ return ENOENT; -#endif } diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S index 8ecbb548a2..a737322e2a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S @@ -48,7 +48,7 @@ ENTRY (BP_SYM (__brk)) li r3,0 blelr+ li r3,ENOMEM - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (BP_SYM (__brk)) weak_alias (BP_SYM (__brk), BP_SYM (brk)) diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S index f232284747..43d44ea418 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S @@ -132,11 +132,11 @@ L(parent): #endif addi r1,r1,32 bnslr+ - b JUMPTARGET(__syscall_error) + b __syscall_error@local L(badargs): li r3,EINVAL - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (BP_SYM (__clone)) weak_alias (BP_SYM (__clone), BP_SYM (clone)) diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S index 4c75354a5f..4e6cf4b352 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S @@ -251,7 +251,7 @@ L(no_vec): stw r3,_UC_REGS_PTR(r12) addi r5,r12,_UC_SIGMASK li r3,SIG_BLOCK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local lwz r0,_FRAME_LR_SAVE+16(r1) addi r1,r1,16 @@ -363,7 +363,7 @@ ENTRY(__novec_getcontext) addi r5,r3,_UC_SIGMASK - _UC_REG_SPACE li r4,0 li r3,SIG_BLOCK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local lwz r0,20(r1) addi r1,r1,16 @@ -384,7 +384,7 @@ compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3_3) compat_text_section ENTRY (__getcontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__getcontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S index 5615718e11..b220f631ec 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S @@ -101,7 +101,7 @@ ENTRY(__makecontext) L(exitcode): mr. r3,r31 beq 4f - bl JUMPTARGET(__setcontext) + bl __setcontext@local 4: bl HIDDEN_JUMPTARGET(exit) b 4b @@ -188,7 +188,7 @@ ENTRY(__novec_makecontext) L(novec_exitcode): mr. r3,r31 beq 4f - bl JUMPTARGET(__novec_setcontext) + bl __novec_setcontext@local 4: bl HIDDEN_JUMPTARGET(exit) b 4b @@ -206,7 +206,7 @@ compat_symbol (libc, __novec_makecontext, makecontext, GLIBC_2_3_3) compat_text_section ENTRY (__makecontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__makecontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S index 2d4fa9910e..b7a82a0182 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S @@ -52,7 +52,7 @@ ENTRY(__setcontext) li r5,0 addi r4,r3,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(error_exit) @@ -295,7 +295,7 @@ ENTRY(__novec_setcontext) li r5,0 addi r4,r3,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(novec_error_exit) @@ -405,7 +405,7 @@ compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3_3) compat_text_section ENTRY (__setcontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__setcontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S index c4f0faddc3..0c84d48d10 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S @@ -249,7 +249,7 @@ L(no_vec): stw r3,_UC_REGS_PTR(r12) addi r5,r12,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(error_exit) @@ -579,7 +579,7 @@ ENTRY(__novec_swapcontext) addi r5,r3,_UC_SIGMASK - _UC_REG_SPACE addi r4,r4,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(novec_error_exit) @@ -706,7 +706,7 @@ compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3_3) compat_text_section ENTRY (__swapcontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__swapcontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S index 5fb7868c31..66a149f10b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S @@ -50,7 +50,7 @@ ENTRY (__vfork) bnslr+ .Lsyscall_error: - b JUMPTARGET(__syscall_error) + b __syscall_error@local #endif PSEUDO_END (__vfork) |