source: clfs-embedded/patches/uClibc-0.9.30.1-branch_update-1.patch@ 1933be2

Last change on this file since 1933be2 was f5994ee, checked in by Jim Gifford <clfs@…>, 16 years ago

uClibc Updates and Linux Update

  • Property mode set to 100644
File size: 36.4 KB
  • include/math.h

    Submitted By: Jim Gifford (jim at cross-lfs dot org)
    Date: 03-28-2009
    Initial Package Version: 0.9.30.1
    Origin: Upstream
    Upstream Status: Applied
    Description: This is a branch update for uClibc-0.9.30.1, and should be
                 rechecked periodically.
    
    diff -Naur uClibc-0.9.30.1.orig/include/math.h uClibc-0.9.30.1/include/math.h
    old new  
    118118# undef __MATH_PRECNAME
    119119
    120120# if (__STDC__ - 0 || __GNUC__ - 0) \
    121      && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT)
     121     && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
    122122#  ifdef __LDBL_COMPAT
    123123
    124124#   ifdef __USE_ISOC99
     
    230230  };
    231231
    232232/* Return number of classification appropriate for X.  */
    233 # ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     233# ifdef __NO_LONG_DOUBLE_MATH
    234234#  define fpclassify(x) \
    235235     (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
    236236# else
     
    242242# endif
    243243
    244244/* Return nonzero value if sign of X is negative.  */
    245 # ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     245# ifdef __NO_LONG_DOUBLE_MATH
    246246#  define signbit(x) \
    247247     (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
    248248# else
     
    254254# endif
    255255
    256256/* Return nonzero value if X is not +-Inf or NaN.  */
    257 # ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     257# ifdef __NO_LONG_DOUBLE_MATH
    258258#  define isfinite(x) \
    259259     (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
    260260# else
     
    270270
    271271/* Return nonzero value if X is a NaN.  We could use `fpclassify' but
    272272   we already have this functions `__isnan' and it is faster.  */
    273 # ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     273# ifdef __NO_LONG_DOUBLE_MATH
    274274#  define isnan(x) \
    275275     (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
    276276# else
     
    282282# endif
    283283
    284284/* Return nonzero value is X is positive or negative infinity.  */
    285 # ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     285# ifdef __NO_LONG_DOUBLE_MATH
    286286#  define isinf(x) \
    287287     (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
    288288# else
  • include/tgmath.h

    diff -Naur uClibc-0.9.30.1.orig/include/tgmath.h uClibc-0.9.30.1/include/tgmath.h
    old new  
    3636
    3737#if __GNUC_PREREQ (2, 7)
    3838
    39 # ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     39# ifdef __NO_LONG_DOUBLE_MATH
    4040#  define __tgml(fct) fct
    4141# else
    4242#  define __tgml(fct) fct ## l
  • ldso/ldso/arm/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/arm/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h
    old new  
    1515  GOT_BASE[1] = (unsigned long) MODULE; \
    1616}
    1717
    18 static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
     18static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p)
    1919{
    2020        unsigned long i,t,inc;
    2121        i=p; t=0;
     
    7272   first element of the GOT.  We used to use the PIC register to do this
    7373   without a constant pool reference, but GCC 4.2 will use a pseudo-register
    7474   for the PIC base, so it may not be in r10.  */
    75 static __inline__ Elf32_Addr __attribute__ ((unused))
     75static __always_inline Elf32_Addr __attribute__ ((unused))
    7676elf_machine_dynamic (void)
    7777{
    7878  Elf32_Addr dynamic;
     
    104104}
    105105
    106106/* Return the run-time load address of the shared object.  */
    107 static __inline__ Elf32_Addr __attribute__ ((unused))
     107static __always_inline Elf32_Addr __attribute__ ((unused))
    108108elf_machine_load_address (void)
    109109{
    110110        extern void __dl_start __asm__ ("_dl_start");
     
    128128        return pcrel_addr - got_addr;
    129129}
    130130
    131 static __inline__ void
     131static __always_inline void
    132132elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    133133                      Elf32_Word relative_count)
    134134{
  • ldso/ldso/bfin/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/bfin/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h
    old new  
    213213#endif
    214214
    215215#include <elf.h>
    216 static __inline__ void
     216static __always_inline void
    217217elf_machine_relative (DL_LOADADDR_TYPE load_off, const Elf32_Addr rel_addr,
    218218                      Elf32_Word relative_count)
    219219{
  • ldso/ldso/cris/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/cris/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h
    old new  
    3939     || ((type) == R_CRIS_GLOB_DAT)) * ELF_RTYPE_CLASS_PLT)     \
    4040   | (((type) == R_CRIS_COPY) * ELF_RTYPE_CLASS_COPY))
    4141
    42 static __inline__ Elf32_Addr
     42static __always_inline Elf32_Addr
    4343elf_machine_dynamic(void)
    4444{
    4545        /* Don't just set this to an asm variable "r0" since that's not logical
     
    6161   there's some other symbol we could use, that we don't *have* to force a
    6262   GOT entry for.  */
    6363
    64 static __inline__ Elf32_Addr
     64static __always_inline Elf32_Addr
    6565elf_machine_load_address(void)
    6666{
    6767        Elf32_Addr gotaddr_diff;
     
    9595        return gotaddr_diff;
    9696}
    9797
    98 static __inline__ void
     98static __always_inline void
    9999elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
    100100                     Elf32_Word relative_count)
    101101{
  • ldso/ldso/i386/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/i386/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h
    old new  
    4242/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
    4343   first element of the GOT.  This must be inlined in a function which
    4444   uses global data.  */
    45 static __inline__ Elf32_Addr elf_machine_dynamic (void) attribute_unused;
    46 static __inline__ Elf32_Addr
     45static __always_inline Elf32_Addr elf_machine_dynamic (void) attribute_unused;
     46static __always_inline Elf32_Addr
    4747elf_machine_dynamic (void)
    4848{
    4949        register Elf32_Addr *got __asm__ ("%ebx");
     
    5252
    5353
    5454/* Return the run-time load address of the shared object.  */
    55 static __inline__ Elf32_Addr elf_machine_load_address (void) attribute_unused;
    56 static __inline__ Elf32_Addr
     55static __always_inline Elf32_Addr elf_machine_load_address (void) attribute_unused;
     56static __always_inline Elf32_Addr
    5757elf_machine_load_address (void)
    5858{
    5959        /* It doesn't matter what variable this is, the reference never makes
     
    6666        return addr;
    6767}
    6868
    69 static __inline__ void
     69static __always_inline void
    7070elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    7171                      Elf32_Word relative_count)
    7272{
  • ldso/ldso/m68k/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/m68k/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h
    old new  
    4141/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
    4242   first element of the GOT.  This must be inlined in a function which
    4343   uses global data.  */
    44 static __inline__ Elf32_Addr
     44static __always_inline Elf32_Addr
    4545elf_machine_dynamic (void)
    4646{
    4747        register Elf32_Addr *got __asm__ ("%a5");
     
    5050
    5151
    5252/* Return the run-time load address of the shared object.  */
    53 static __inline__ Elf32_Addr
     53static __always_inline Elf32_Addr
    5454elf_machine_load_address (void)
    5555{
    5656        Elf32_Addr addr;
     
    6060        return addr;
    6161}
    6262
    63 static __inline__ void
     63static __always_inline void
    6464elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    6565                      Elf32_Word relative_count)
    6666{
  • ldso/ldso/mips/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/mips/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h
    old new  
    163163
    164164#define OFFSET_GP_GOT 0x7ff0
    165165
    166 static __inline__ ElfW(Addr) *
     166static __always_inline ElfW(Addr) *
    167167elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
    168168{
    169169        /* FIXME: the offset of gp from GOT may be system-dependent. */
     
    173173/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
    174174   first element of the GOT.  This must be inlined in a function which
    175175   uses global data.  We assume its $gp points to the primary GOT.  */
    176 static __inline__ ElfW(Addr)
     176static __always_inline ElfW(Addr)
    177177elf_machine_dynamic (void)
    178178{
    179179        register ElfW(Addr) gp __asm__ ("$28");
     
    192192#endif
    193193
    194194/* Return the run-time load address of the shared object.  */
    195 static __inline__ ElfW(Addr)
     195static __always_inline ElfW(Addr)
    196196elf_machine_load_address (void)
    197197{
    198198        ElfW(Addr) addr;
     
    208208        return addr;
    209209}
    210210
    211 static __inline__ void
     211static __always_inline void
    212212elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr,
    213213                      ElfW(Word) relative_count)
    214214{
  • ldso/ldso/powerpc/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/powerpc/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h
    old new  
    9090#define ELF_MACHINE_PLTREL_OVERLAP 1
    9191
    9292/* Return the value of the GOT pointer.  */
    93 static __inline__ Elf32_Addr * __attribute__ ((const))
     93static __always_inline Elf32_Addr * __attribute__ ((const))
    9494ppc_got (void)
    9595{
    9696        Elf32_Addr *got;
     
    109109
    110110/* Return the link-time address of _DYNAMIC, stored as
    111111   the first value in the GOT. */
    112 static __inline__ Elf32_Addr __attribute__ ((const))
     112static __always_inline Elf32_Addr __attribute__ ((const))
    113113elf_machine_dynamic (void)
    114114{
    115115        return *ppc_got();
    116116}
    117117
    118118/* Return the run-time load address of the shared object.  */
    119 static __inline__ Elf32_Addr __attribute__ ((const))
     119static __always_inline Elf32_Addr __attribute__ ((const))
    120120elf_machine_load_address (void)
    121121{
    122122  Elf32_Addr *branchaddr;
     
    164164  return runtime_dynamic - elf_machine_dynamic ();
    165165}
    166166
    167 static __inline__ void
     167static __always_inline void
    168168elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    169169                      Elf32_Word relative_count)
    170170{
  • ldso/ldso/sh/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/sh/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h
    old new  
    2525struct elf_resolve;
    2626extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
    2727
    28 static __inline__ unsigned int
     28static __always_inline unsigned int
    2929_dl_urem(unsigned int n, unsigned int base)
    3030{
    3131  int res;
     
    100100/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
    101101   first element of the GOT.  This must be inlined in a function which
    102102   uses global data.  */
    103 static __inline__ Elf32_Addr __attribute__ ((unused))
     103static __always_inline Elf32_Addr __attribute__ ((unused))
    104104elf_machine_dynamic (void)
    105105{
    106106        register Elf32_Addr *got;
     
    109109}
    110110
    111111/* Return the run-time load address of the shared object.  */
    112 static __inline__ Elf32_Addr __attribute__ ((unused))
     112static __always_inline Elf32_Addr __attribute__ ((unused))
    113113elf_machine_load_address (void)
    114114{
    115115        Elf32_Addr addr;
     
    151151    } \
    152152  }
    153153
    154 static __inline__ void
     154static __always_inline void
    155155elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    156156                      Elf32_Word relative_count)
    157157{
  • ldso/ldso/sh64/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/sh64/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h
    old new  
    4242/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
    4343   first element of the GOT.  This must be inlined in a function which
    4444   uses global data.  */
    45 static __inline__ Elf32_Addr elf_machine_dynamic(void)
     45static __always_inline Elf32_Addr elf_machine_dynamic(void)
    4646{
    4747        register Elf32_Addr *got;
    4848
     
    7070}
    7171
    7272/* Return the run-time load address of the shared object.  */
    73 static __inline__ Elf32_Addr elf_machine_load_address(void)
     73static __always_inline Elf32_Addr elf_machine_load_address(void)
    7474{
    7575        Elf32_Addr addr;
    7676
     
    123123        }                                               \
    124124}
    125125
    126 static __inline__ void
     126static __always_inline void
    127127elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
    128128                     Elf32_Word relative_count)
    129129{
  • ldso/ldso/sparc/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/sparc/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h
    old new  
    4949
    5050#ifndef COMPILE_ASM
    5151/* Cheap modulo implementation, taken from arm/ld_sysdep.h. */
    52 static __inline__ unsigned long
     52static __always_inline unsigned long
    5353sparc_mod(unsigned long m, unsigned long p)
    5454{
    5555        unsigned long i, t, inc;
     
    127127/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
    128128   first element of the GOT.  This must be inlined in a function which
    129129   uses global data.  */
    130 static __inline__ Elf32_Addr
     130static __always_inline Elf32_Addr
    131131elf_machine_dynamic (void)
    132132{
    133133        register Elf32_Addr *got __asm__ ("%l7");
     
    138138}
    139139
    140140/* Return the run-time load address of the shared object.  */
    141 static __inline__ Elf32_Addr
     141static __always_inline Elf32_Addr
    142142elf_machine_load_address (void)
    143143{
    144144        register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
     
    157157        return (Elf32_Addr) got - *got + (pc[2] - pc[3]) * 4 - 4;
    158158}
    159159
    160 static __inline__ void
     160static __always_inline void
    161161elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    162162                      Elf32_Word relative_count)
    163163{
  • ldso/ldso/xtensa/dl-sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/xtensa/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h
    old new  
    8787  (((type) == R_XTENSA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
    8888
    8989/* Return the link-time address of _DYNAMIC.  */
    90 static __inline__ Elf32_Addr
     90static __always_inline Elf32_Addr
    9191elf_machine_dynamic (void)
    9292{
    9393  /* This function is only used while bootstrapping the runtime linker.
     
    9797}
    9898
    9999/* Return the run-time load address of the shared object.  */
    100 static __inline__ Elf32_Addr
     100static __always_inline Elf32_Addr
    101101elf_machine_load_address (void)
    102102{
    103103  Elf32_Addr addr, tmp;
     
    118118  return addr - 3;
    119119}
    120120
    121 static __inline__ void
     121static __always_inline void
    122122elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
    123123                      Elf32_Word relative_count)
    124124{
  • libc/sysdeps/linux/alpha/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h
    old new  
    7878
    7979# endif /* GNUC before 3.4 */
    8080#endif /* COMPLEX_H */
     81
     82#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     83# define __NO_LONG_DOUBLE_MATH  1
     84#endif
  • libc/sysdeps/linux/alpha/bits/wordsize.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/wordsize.h uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h
    old new  
    1818
    1919#define __WORDSIZE      64
    2020
    21 #if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
     21#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
    2222
    2323/* Signal that we didn't used to have a `long double'. The changes all
    2424   the `long double' function variants to be redirects to the double
    2525   functions.  */
    2626# define __LONG_DOUBLE_MATH_OPTIONAL    1
    2727# ifndef __LONG_DOUBLE_128__
    28 undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     28define __NO_LONG_DOUBLE_MATH         1
    2929# endif
    3030#endif
  • libc/sysdeps/linux/arm/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/arm/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h
    old new  
    3434# define FP_ILOGBNAN    (2147483647)
    3535
    3636#endif  /* ISO C99 */
     37
     38#ifndef __NO_LONG_DOUBLE_MATH
     39/* Signal that we do not really have a `long double'.  This disables the
     40   declaration of all the `long double' function variants.  */
     41/* XXX The FPA does support this but the patterns in GCC are currently
     42   turned off.  */
     43# define __NO_LONG_DOUBLE_MATH  1
     44#endif
  • libc/sysdeps/linux/common/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/common/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h
    old new  
    3535# define FP_ILOGBNAN    2147483647
    3636
    3737#endif  /* ISO C99 */
     38
     39#ifndef __NO_LONG_DOUBLE_MATH
     40/* Signal that we do not really have a `long double'.  The disables the
     41   declaration of all the `long double' function variants.  */
     42# define __NO_LONG_DOUBLE_MATH  1
     43#endif
  • libc/sysdeps/linux/i386/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/i386/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h
    old new  
    4444# define FP_ILOGBNAN    (-2147483647 - 1)
    4545
    4646#endif  /* ISO C99 */
     47
     48#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     49# define __NO_LONG_DOUBLE_MATH  1
     50#endif
  • libc/sysdeps/linux/ia64/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/ia64/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h
    old new  
    3535# define FP_ILOGBNAN    2147483647
    3636
    3737#endif  /* ISO C99 */
     38
     39#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     40# define __NO_LONG_DOUBLE_MATH  1
     41#endif
  • libc/sysdeps/linux/m68k/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/m68k/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h
    old new  
    3636# define FP_ILOGBNAN    (2147483647)
    3737
    3838#endif  /* ISO C99 */
     39
     40#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     41# define __NO_LONG_DOUBLE_MATH  1
     42#endif
  • libc/sysdeps/linux/mips/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/mips/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h
    old new  
    3939
    4040#endif  /* ISO C99 */
    4141
    42 #if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32
     42#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
    4343/* Signal that we do not really have a `long double'.  This disables the
    4444   declaration of all the `long double' function variants.  */
    45 # error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32
     45# define __NO_LONG_DOUBLE_MATH  1
     46#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     47# define __NO_LONG_DOUBLE_MATH  1
    4648#endif
  • libc/sysdeps/linux/nios/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/nios/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h
    old new  
    3434# define FP_ILOGBNAN    (2147483647)
    3535
    3636#endif  /* ISO C99 */
     37
     38#ifndef __NO_LONG_DOUBLE_MATH
     39/* Signal that we do not really have a `long double'.  This disables the
     40   declaration of all the `long double' function variants.  */
     41/* XXX The FPA does support this but the patterns in GCC are currently
     42   turned off.  */
     43# define __NO_LONG_DOUBLE_MATH  1
     44#endif
  • libc/sysdeps/linux/nios2/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/nios2/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h
    old new  
    3434# define FP_ILOGBNAN    (2147483647)
    3535
    3636#endif  /* ISO C99 */
     37
     38#ifndef __NO_LONG_DOUBLE_MATH
     39/* Signal that we do not really have a `long double'.  This disables the
     40   declaration of all the `long double' function variants.  */
     41/* XXX The FPA does support this but the patterns in GCC are currently
     42   turned off.  */
     43# define __NO_LONG_DOUBLE_MATH  1
     44#endif
  • libc/sysdeps/linux/powerpc/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
    old new  
    6565
    6666#endif  /* ISO C99 */
    6767
    68 #ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     68#ifndef __NO_LONG_DOUBLE_MATH
    6969#include <bits/wordsize.h>
    7070/* Signal that we do not really have a `long double'.  The disables the
    7171   declaration of all the `long double' function variants.  */
    7272# if __WORDSIZE == 32
    73 #  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     73#  define __NO_LONG_DOUBLE_MATH 1
     74# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     75#  define __NO_LONG_DOUBLE_MATH 1
    7476# endif  /* __WORDSIZE == 32 */
    75 #endif  /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
     77#endif  /* __NO_LONG_DOUBLE_MATH */
  • libc/sysdeps/linux/powerpc/bits/wordsize.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/wordsize.h uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h
    old new  
    77# define __WORDSIZE     32
    88#endif
    99
    10 #if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
     10#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
    1111
    1212/* Signal the glibc ABI didn't used to have a `long double'.
    1313   The changes all the `long double' function variants to be redirects
    1414   to the double functions.  */
    1515# define __LONG_DOUBLE_MATH_OPTIONAL   1
    1616# ifndef __LONG_DOUBLE_128__
    17 undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     17define __NO_LONG_DOUBLE_MATH        1
    1818# endif
    1919#endif
  • libc/sysdeps/linux/sh/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sh/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h
    old new  
    6161# define FP_ILOGBNAN    0x7fffffff
    6262
    6363#endif  /* ISO C99 */
     64
     65#ifndef __NO_LONG_DOUBLE_MATH
     66/* Signal that we do not really have a `long double'.  The disables the
     67   declaration of all the `long double' function variants.  */
     68# define __NO_LONG_DOUBLE_MATH  1
     69#endif
  • libc/sysdeps/linux/sparc/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h
    old new  
    5757
    5858#endif  /* ISO C99 */
    5959
    60 #ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     60#ifndef __NO_LONG_DOUBLE_MATH
    6161
    6262# if __WORDSIZE == 32
    6363/* Signal that in 32bit ABI we do not really have a `long double'.
    6464   The disables the declaration of all the `long double' function
    6565   variants.  */
    66 #  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     66#  define __NO_LONG_DOUBLE_MATH 1
     67# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     68#  define __NO_LONG_DOUBLE_MATH 1
    6769# endif
    6870
    6971#endif
  • libc/sysdeps/linux/sparc/bits/mathinline.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/mathinline.h uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h
    old new  
    3737
    3838# if __WORDSIZE == 32
    3939
    40 #  ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     40#  ifndef __NO_LONG_DOUBLE_MATH
    4141
    4242#   define __unordered_cmp(x, y) \
    4343  (__extension__                                                              \
     
    157157  return __u.__i[0] < 0;
    158158}
    159159
    160 #    ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     160#    ifndef __NO_LONG_DOUBLE_MATH
    161161__MATH_INLINE int
    162162__NTH (__signbitl (long double __x))
    163163{
     
    219219  _Qp_sqrt (&__r, &__x);
    220220  return __r;
    221221}
    222 #   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     222#   elif !defined __NO_LONG_DOUBLE_MATH
    223223__MATH_INLINE long double
    224224sqrtl (long double __x) __THROW
    225225{
     
    257257  _Qp_sqrt(&__r, &__x);
    258258  return __r;
    259259}
    260 #   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     260#   elif !defined __NO_LONG_DOUBLE_MATH
    261261__MATH_INLINE long double
    262262__ieee754_sqrtl (long double __x)
    263263{
  • libc/sysdeps/linux/sparc/bits/wordsize.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/wordsize.h uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h
    old new  
    66# define __WORDSIZE     32
    77#endif
    88
    9 #if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
     9#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
    1010
    1111# if __WORDSIZE == 32
    1212/* Signal that in 32bit ABI we didn't used to have a `long double'.
     
    1414   to the double functions.  */
    1515#  define __LONG_DOUBLE_MATH_OPTIONAL   1
    1616#  ifndef __LONG_DOUBLE_128__
    17 #   undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     17#   define __NO_LONG_DOUBLE_MATH        1
    1818#  endif
    1919# endif
    2020#endif
  • libc/sysdeps/linux/x86_64/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/x86_64/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h
    old new  
    4646# define FP_ILOGBNAN    (-2147483647 - 1)
    4747
    4848#endif  /* ISO C99 */
     49
     50#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     51# define __NO_LONG_DOUBLE_MATH  1
     52#endif
  • libc/sysdeps/linux/xtensa/bits/mathdef.h

    diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/xtensa/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h
    old new  
    3636
    3737#endif  /* ISO C99 */
    3838
    39 #if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     39#ifndef __NO_LONG_DOUBLE_MATH
    4040/* Signal that we do not really have a `long double'.  The disables the
    4141   declaration of all the `long double' function variants.  */
    42 # undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
     42# define __NO_LONG_DOUBLE_MATH  1
    4343#endif
  • libm/ldouble_wrappers.c

    diff -Naur uClibc-0.9.30.1.orig/libm/ldouble_wrappers.c uClibc-0.9.30.1/libm/ldouble_wrappers.c
    old new  
    1313#include "math.h"
    1414#include <complex.h>
    1515
     16#if defined __NO_LONG_DOUBLE_MATH
     17# define int_WRAPPER_C99(func) /* not needed */
     18# else
     19# define int_WRAPPER_C99(func) \
     20int func##l(long double x) \
     21{ \
     22    return func((double) x); \
     23} \
     24libm_hidden_def(func##l)
     25#endif
    1626
    1727/* Implement the following, as defined by SuSv3 */
    1828#if 0
     
    543553#endif
    544554
    545555
    546 #ifdef __DO_C99_MATH__
     556#if defined __DO_C99_MATH__
    547557
    548558#ifdef L_fpclassifyl
    549 int __fpclassifyl (long double x)
    550 {
    551         return __fpclassify ( (double) x );
    552 }
    553 libm_hidden_def(__fpclassifyl)
     559int_WRAPPER_C99(__fpclassify)
    554560#endif
    555561
    556562#ifdef L_finitel
    557 int __finitel (long double x)
    558 {
    559         return __finite ( (double)x );
    560 }
    561 libm_hidden_def(__finitel)
     563int_WRAPPER_C99(__finite)
    562564#endif
    563565
    564566#ifdef L_signbitl
    565 int __signbitl (long double x)
    566 {
    567         return __signbitl ( (double)x );
    568 }
    569 libm_hidden_def(__signbitl)
     567int_WRAPPER_C99(__signbit)
    570568#endif
    571569
    572570#ifdef L_isnanl
    573 int __isnanl (long double x)
    574 {
    575         return __isnan ( (double)x );
    576 }
    577 libm_hidden_def(__isnanl)
     571int_WRAPPER_C99(__isnan)
    578572#endif
    579573
    580574#ifdef L_isinfl
    581 int __isinfl (long double x)
    582 {
    583         return __isinf ( (double)x );
    584 }
    585 libm_hidden_def(__isinfl)
     575int_WRAPPER_C99(__isinf)
    586576#endif
    587577
    588 #endif
     578#endif /* DO_C99_MATH */
     579
     580#undef int_WRAPPER_C99
  • uClibc-0.9.30.1

    diff -Naur uClibc-0.9.30.1.orig/libm/nan.c uClibc-0.9.30.1/libm/nan.c
    old new  
    4545}
    4646libm_hidden_def(nanf)
    4747
    48 #if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
     48#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH
    4949libm_hidden_proto(nanl)
    5050long double nanl (const char *tagp)
    5151{
  • libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h

    diff -Naur uClibc-0.9.30.1.orig/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
    old new  
     1#include <sysdep.h>
     2
     3/* No multi-thread handling enabled.  */
     4#define SINGLE_THREAD_P (1)
     5#define RTLD_SINGLE_THREAD_P (1)
     6#define LIBC_CANCEL_ASYNC()     0 /* Just a dummy value.  */
     7#define LIBC_CANCEL_RESET(val)  ((void)(val)) /* Nothing, but evaluate it.  */
     8#define LIBC_CANCEL_HANDLED()   /* Nothing.  */
     9
  • libpthread/linuxthreads/sysdeps/arm/sysdep.h

    diff -Naur uClibc-0.9.30.1.orig/libpthread/linuxthreads/sysdeps/arm/sysdep.h uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/arm/sysdep.h
    old new  
     1/* Generic asm macros used on many machines.
     2   Copyright (C) 1991,92,93,96,98,2002,2003 Free Software Foundation, Inc.
     3   This file is part of the GNU C Library.
     4
     5   The GNU C Library is free software; you can redistribute it and/or
     6   modify it under the terms of the GNU Lesser General Public
     7   License as published by the Free Software Foundation; either
     8   version 2.1 of the License, or (at your option) any later version.
     9
     10   The GNU C Library is distributed in the hope that it will be useful,
     11   but WITHOUT ANY WARRANTY; without even the implied warranty of
     12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13   Lesser General Public License for more details.
     14
     15   You should have received a copy of the GNU Lesser General Public
     16   License along with the GNU C Library; if not, write to the Free
     17   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     18   02111-1307 USA.  */
     19
     20#ifndef C_LABEL
     21
     22/* Define a macro we can use to construct the asm name for a C symbol.  */
     23#ifdef  NO_UNDERSCORES
     24#ifdef  __STDC__
     25#define C_LABEL(name)           name##:
     26#else
     27#define C_LABEL(name)           name/**/:
     28#endif
     29#else
     30#ifdef  __STDC__
     31#define C_LABEL(name)           _##name##:
     32#else
     33#define C_LABEL(name)           _/**/name/**/:
     34#endif
     35#endif
     36
     37#endif
     38
     39#ifdef __ASSEMBLER__
     40/* Mark the end of function named SYM.  This is used on some platforms
     41   to generate correct debugging information.  */
     42#ifndef END
     43#define END(sym)
     44#endif
     45
     46#ifndef JUMPTARGET
     47#define JUMPTARGET(sym)         sym
     48#endif
     49
     50/* Makros to generate eh_frame unwind information.  */
     51# ifdef HAVE_ASM_CFI_DIRECTIVES
     52#  define cfi_startproc                 .cfi_startproc
     53#  define cfi_endproc                   .cfi_endproc
     54#  define cfi_def_cfa(reg, off)         .cfi_def_cfa reg, off
     55#  define cfi_def_cfa_register(reg)     .cfi_def_cfa_register reg
     56#  define cfi_def_cfa_offset(off)       .cfi_def_cfa_offset off
     57#  define cfi_adjust_cfa_offset(off)    .cfi_adjust_cfa_offset off
     58#  define cfi_offset(reg, off)          .cfi_offset reg, off
     59#  define cfi_rel_offset(reg, off)      .cfi_rel_offset reg, off
     60#  define cfi_register(r1, r2)          .cfi_register r1, r2
     61#  define cfi_return_column(reg)        .cfi_return_column reg
     62#  define cfi_restore(reg)              .cfi_restore reg
     63#  define cfi_same_value(reg)           .cfi_same_value reg
     64#  define cfi_undefined(reg)            .cfi_undefined reg
     65#  define cfi_remember_state            .cfi_remember_state
     66#  define cfi_restore_state             .cfi_restore_state
     67#  define cfi_window_save               .cfi_window_save
     68# else
     69#  define cfi_startproc
     70#  define cfi_endproc
     71#  define cfi_def_cfa(reg, off)
     72#  define cfi_def_cfa_register(reg)
     73#  define cfi_def_cfa_offset(off)
     74#  define cfi_adjust_cfa_offset(off)
     75#  define cfi_offset(reg, off)
     76#  define cfi_rel_offset(reg, off)
     77#  define cfi_register(r1, r2)
     78#  define cfi_return_column(reg)
     79#  define cfi_restore(reg)
     80#  define cfi_same_value(reg)
     81#  define cfi_undefined(reg)
     82#  define cfi_remember_state
     83#  define cfi_restore_state
     84#  define cfi_window_save
     85# endif
     86
     87#else /* ! ASSEMBLER */
     88# ifdef HAVE_ASM_CFI_DIRECTIVES
     89#  define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
     90#  define CFI_STRINGIFY2(Name) #Name
     91#  define CFI_STARTPROC ".cfi_startproc"
     92#  define CFI_ENDPROC   ".cfi_endproc"
     93#  define CFI_DEF_CFA(reg, off) \
     94   ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
     95#  define CFI_DEF_CFA_REGISTER(reg) \
     96   ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
     97#  define CFI_DEF_CFA_OFFSET(off) \
     98   ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
     99#  define CFI_ADJUST_CFA_OFFSET(off) \
     100   ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
     101#  define CFI_OFFSET(reg, off) \
     102   ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
     103#  define CFI_REL_OFFSET(reg, off) \
     104   ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
     105#  define CFI_REGISTER(r1, r2) \
     106   ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
     107#  define CFI_RETURN_COLUMN(reg) \
     108   ".cfi_return_column " CFI_STRINGIFY(reg)
     109#  define CFI_RESTORE(reg) \
     110   ".cfi_restore " CFI_STRINGIFY(reg)
     111#  define CFI_UNDEFINED(reg) \
     112   ".cfi_undefined " CFI_STRINGIFY(reg)
     113#  define CFI_REMEMBER_STATE \
     114   ".cfi_remember_state"
     115#  define CFI_RESTORE_STATE \
     116   ".cfi_restore_state"
     117#  define CFI_WINDOW_SAVE \
     118   ".cfi_window_save"
     119# else
     120#  define CFI_STARTPROC
     121#  define CFI_ENDPROC
     122#  define CFI_DEF_CFA(reg, off)
     123#  define CFI_DEF_CFA_REGISTER(reg)
     124#  define CFI_DEF_CFA_OFFSET(off)
     125#  define CFI_ADJUST_CFA_OFFSET(off)
     126#  define CFI_OFFSET(reg, off)
     127#  define CFI_REL_OFFSET(reg, off)
     128#  define CFI_REGISTER(r1, r2)
     129#  define CFI_RETURN_COLUMN(reg)
     130#  define CFI_RESTORE(reg)
     131#  define CFI_UNDEFINED(reg)
     132#  define CFI_REMEMBER_STATE
     133#  define CFI_RESTORE_STATE
     134#  define CFI_WINDOW_SAVE
     135# endif
     136
     137#endif /* __ASSEMBLER__ */
     138
  • uClibc-0.9.30.1

    diff -Naur uClibc-0.9.30.1.orig/Rules.mak uClibc-0.9.30.1/Rules.mak
    old new  
    8585MAJOR_VERSION := 0
    8686MINOR_VERSION := 9
    8787SUBLEVEL      := 30
    88 EXTRAVERSION  :=.1
     88EXTRAVERSION  :=.2-svn
    8989VERSION       := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL)
    9090ifneq ($(EXTRAVERSION),)
    9191VERSION       := $(VERSION)$(EXTRAVERSION)
     
    393393        # -shared by itself would get us global function descriptors
    394394        # and calls through PLTs, dynamic resolution of symbols, etc,
    395395        # which would break as well, but -Bsymbolic comes to the rescue.
    396         export LDPIEFLAG:=-Wl,-shared -Wl,-Bsymbolic
     396        export LDPIEFLAG:=-shared -Wl,-Bsymbolic
    397397        UCLIBC_LDSO=ld.so.1
    398398endif
    399399
     
    520520
    521521CFLAGS += $(call check_gcc,-std=gnu99,)
    522522
    523 LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -Wl,-shared \
     523LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -shared \
    524524        -Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc
    525525# binutils-2.16.1 warns about ignored sections, 2.16.91.0.3 and newer are ok
    526526#LDFLAGS_NOSTRIP+=$(call check_ld,--gc-sections)
Note: See TracBrowser for help on using the repository browser.