diff options
29 files changed, 554 insertions, 194 deletions
diff --git a/ChangeLog b/ChangeLog index 8a76757e87..9897d871cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,52 @@ +2002-08-23 Andreas Jaeger <aj@suse.de> + + * locale/loadarchive.c: Include <stdlib.h> for prototypes of + alloca, free, qsort. + + * dlfcn/bug-dlsym1-lib1.c (foo): Add prototype to avoid warning. + + * sysdeps/ieee754/flt-32/e_jnf.c: Remove unused variable. + * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. + + * sysdeps/generic/fgetxattr.c: New file. + * sysdeps/generic/flistxattr.c: New file. + * sysdeps/generic/fremovexattr.c: New file. + * sysdeps/generic/fsetxattr.c: New file. + * sysdeps/generic/getxattr.c: New file. + * sysdeps/generic/listxattr.c: New file. + * sysdeps/generic/lgetxattr.c: New file. + * sysdeps/generic/llistxattr.c: New file. + * sysdeps/generic/lremovexattr.c: New file. + * sysdeps/generic/lsetxattr.c: New file. + * sysdeps/generic/removexattr.c: New file. + * sysdeps/generic/setxattr.c: New file. + + * misc/sys/xattr.h: New file, contributed by Christoph Hellwig + <hch@lst.de>. + + * misc/Makefile (headers): Add sys/xattr.h. + (routines): Add *xattr calls. + + * misc/Versions: Add *xattr calls with version 2.3. + + * sysdeps/unix/sysv/linux/m68k/Versions: Remove *xattr syscalls. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. + * sysdeps/unix/sysv/linux/x86_64/Versions: Likewise. + * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. + * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. + * sysdeps/unix/sysv/linux/arm/Versions: Likewise. + 2002-08-22 Steven Munroe <sjmunroe@us.ibm.com> - * sysdeps/powerpc/elf/libc-start.c + * sysdeps/powerpc/elf/libc-start.c (__cache_line_size): Declare. (__aux_init_cache): New. (__libc_start_main): Change type of `auxvec' parameter to `ElfW(auxv_t) *'. Correct walking of aux vector. Call __aux_init_cache. - * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c + * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (__cache_line_size): Declare. (__aux_init_cache): New. (DL_PLATFORM_INIT): Define. diff --git a/locale/loadarchive.c b/locale/loadarchive.c index d25334a7fd..cad34b63e6 100644 --- a/locale/loadarchive.c +++ b/locale/loadarchive.c @@ -19,6 +19,7 @@ #include <locale.h> #include <stddef.h> +#include <stdlib.h> #include <stdbool.h> #include <errno.h> #include <assert.h> diff --git a/misc/Makefile b/misc/Makefile index a5cee879bc..a647c06d2f 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -29,7 +29,7 @@ headers := sys/uio.h bits/uio.h sys/ioctl.h bits/ioctls.h bits/ioctl-types.h \ sys/mman.h sys/param.h fstab.h mntent.h search.h err.h error.h \ sys/queue.h sysexits.h syscall.h sys/syscall.h sys/swap.h \ sys/select.h ustat.h sys/ustat.h bits/ustat.h sys/sysinfo.h \ - regexp.h bits/select.h bits/mman.h + regexp.h bits/select.h bits/mman.h sys/xattr.h routines := brk sbrk sstk ioctl \ readv writev \ @@ -58,7 +58,10 @@ routines := brk sbrk sstk ioctl \ hsearch hsearch_r tsearch lsearch \ err error ustat \ getsysstats dirname regexp \ - getloadavg getclktck + getloadavg getclktck \ + fgetxattr flistxattr fremovexattr fsetxattr getxattr \ + listxattr lgetxattr llistxattr lremovexattr lsetxattr \ + removexattr setxattr distribute := device-nrs.h diff --git a/misc/Versions b/misc/Versions index 4a37d601ba..477b1b076c 100644 --- a/misc/Versions +++ b/misc/Versions @@ -108,6 +108,23 @@ libc { # p* posix_madvise; } + GLIBC_2.3 { + # f* + fgetxattr; flistxattr; fremovexattr; fsetxattr; + + # g* + getxattr; + + # l* + listxattr; + lgetxattr; llistxattr; lremovexattr; lsetxattr; + + # r* + removexattr; + + # s* + setxattr; + } GLIBC_PRIVATE { # functions which have an additional interface since they are # cancelable. diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h new file mode 100644 index 0000000000..0e98185940 --- /dev/null +++ b/misc/sys/xattr.h @@ -0,0 +1,106 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _SYS_XATTR_H +#define _SYS_XATTR_H 1 + +#include <features.h> + + +#define __need_size_t +#include <stddef.h> + +__BEGIN_DECLS + +/* The following constants should be used for the fifth parameter of + `*setxattr'. */ +enum +{ + XATTR_CREATE = 1, /* set value, fail if attr already exists. */ +#define XATTR_CREATE XATTR_CREATE + XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */ +#define XATTR_REPLACE XATTR_REPLACE +}; + +/* Set the attribute NAME of the file pointed to by PATH to VALUE (which + is SIZE bytes long). Return 0 on success, -1 for errors. */ +extern int setxattr (const char *__path, const char *__name, + const void *__value, size_t __size, int __flags) + __THROW; + +/* Set the attribute NAME of the file pointed to by PATH to VALUE (which is + SIZE bytes long), not following symlinks for the last pathname component. + Return 0 on success, -1 for errors. */ +extern int lsetxattr (const char *__path, const char *__name, + const void *__value, size_t __size, int __flags) + __THROW; + +/* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE + bytes long). Return 0 on success, -1 for errors. */ +extern int fsetxattr (int __fd, const char *__name, const void *__value, + size_t __size, int __flags) __THROW; + +/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is + SIZE bytes long). Return 0 on success, -1 for errors. */ +extern ssize_t getxattr (const char *__path, const char *__name, + void *__value, size_t __size) __THROW; + +/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is + SIZE bytes long), not following symlinks for the last pathname component. + Return 0 on success, -1 for errors. */ +extern ssize_t lgetxattr (const char *__path, const char *__name, + void *__value, size_t __size) __THROW; + +/* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE + bytes long). Return 0 on success, -1 for errors. */ +extern ssize_t fgetxattr (int __fd, const char *__name, void *__value, + size_t __size) __THROW; + +/* List attributes of the file pointed to by PATH into the user-supplied + buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for + errors. */ +extern ssize_t listxattr (const char *__path, char *__list, size_t __size) + __THROW; + +/* List attributes of the file pointed to by PATH into the user-supplied + buffer LIST (which is SIZE bytes big), not following symlinks for the + last pathname component. Return 0 on success, -1 for errors. */ +extern ssize_t llistxattr (const char *__path, char *__list, size_t __size) + __THROW; + +/* List attributes of the file descriptor FD into the user-supplied buffer + LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ +extern ssize_t flistxattr (int __fd, char *__list, size_t __size) + __THROW; + +/* Remove the attribute NAME from the file pointed to by PATH. Return 0 + on success, -1 for errors. */ +extern int removexattr (const char *__path, const char *__name) __THROW; + +/* Remove the attribute NAME from the file pointed to by PATH, not + following symlinks for the last pathname component. Return 0 on + success, -1 for errors. */ +extern int lremovexattr (const char *__path, const char *__name) __THROW; + +/* Remove the attribute NAME from the file descriptor FD. Return 0 on + success, -1 for errors. */ +extern int fremovexattr (int __fd, const char *__name) __THROW; + +__END_DECLS + +#endif /* sys/xattr.h */ diff --git a/sysdeps/generic/fgetxattr.c b/sysdeps/generic/fgetxattr.c new file mode 100644 index 0000000000..610ed32d1f --- /dev/null +++ b/sysdeps/generic/fgetxattr.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +ssize_t +fgetxattr (int __fd, const char *__name, + void *__value, size_t __size) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (fgetxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/flistxattr.c b/sysdeps/generic/flistxattr.c new file mode 100644 index 0000000000..fc2863d31c --- /dev/null +++ b/sysdeps/generic/flistxattr.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +ssize_t +flistxattr (int __fd, char *__list, size_t __size) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (flistxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/fremovexattr.c b/sysdeps/generic/fremovexattr.c new file mode 100644 index 0000000000..9719d42d40 --- /dev/null +++ b/sysdeps/generic/fremovexattr.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +int +fremovexattr (int __fd, const char *__name) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (fremovexattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/fsetxattr.c b/sysdeps/generic/fsetxattr.c new file mode 100644 index 0000000000..8a52e72529 --- /dev/null +++ b/sysdeps/generic/fsetxattr.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +int +fsetxattr (int __fd, const char *__name, const void *__value, + size_t __size, int __flags) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (fsetxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/getxattr.c b/sysdeps/generic/getxattr.c new file mode 100644 index 0000000000..ebf7bf2b4d --- /dev/null +++ b/sysdeps/generic/getxattr.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +ssize_t +getxattr (const char *__path, const char *__name, + void *__value, size_t __size) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (getxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/lgetxattr.c b/sysdeps/generic/lgetxattr.c new file mode 100644 index 0000000000..6adf1fdf04 --- /dev/null +++ b/sysdeps/generic/lgetxattr.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +ssize_t +lgetxattr (const char *__path, const char *__name, + void *__value, size_t __size) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (lgetxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/listxattr.c b/sysdeps/generic/listxattr.c new file mode 100644 index 0000000000..490a092b75 --- /dev/null +++ b/sysdeps/generic/listxattr.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +ssize_t +listxattr (const char *__path, char *__list, size_t __size) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (listxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/llistxattr.c b/sysdeps/generic/llistxattr.c new file mode 100644 index 0000000000..1a7e1e4cfd --- /dev/null +++ b/sysdeps/generic/llistxattr.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +ssize_t +llistxattr (const char *__path, char *__list, size_t __size) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (llistxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/lremovexattr.c b/sysdeps/generic/lremovexattr.c new file mode 100644 index 0000000000..fad64e5150 --- /dev/null +++ b/sysdeps/generic/lremovexattr.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +int +lremovexattr (const char *__path, const char *__name) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (lremovexattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/lsetxattr.c b/sysdeps/generic/lsetxattr.c new file mode 100644 index 0000000000..6f8cdde1da --- /dev/null +++ b/sysdeps/generic/lsetxattr.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +int +lsetxattr (const char *__path, const char *__name, + const void *__value, size_t __size, int __flags) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (lsetxattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/removexattr.c b/sysdeps/generic/removexattr.c new file mode 100644 index 0000000000..8379ed10c8 --- /dev/null +++ b/sysdeps/generic/removexattr.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +int +removexattr (const char *__path, const char *__name) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (removexattr) +#include <stub-tag.h> diff --git a/sysdeps/generic/setxattr.c b/sysdeps/generic/setxattr.c new file mode 100644 index 0000000000..5b8743a7ce --- /dev/null +++ b/sysdeps/generic/setxattr.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/xattr.h> + +int +setxattr (const char *__path, const char *__name, + const void *__value, size_t __size, int __flags) +{ + __set_errno (ENOSYS); + return -1; +} + +stub_warning (setxattr) +#include <stub-tag.h> diff --git a/sysdeps/ieee754/flt-32/e_jnf.c b/sysdeps/ieee754/flt-32/e_jnf.c index 9e5279c30a..34c4d95a32 100644 --- a/sysdeps/ieee754/flt-32/e_jnf.c +++ b/sysdeps/ieee754/flt-32/e_jnf.c @@ -25,7 +25,6 @@ static const float #else static float #endif -invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */ two = 2.0000000000e+00, /* 0x40000000 */ one = 1.0000000000e+00; /* 0x3F800000 */ @@ -62,7 +61,7 @@ static float zero = 0.0000000000e+00; if(n==1) return(__ieee754_j1f(x)); sgn = (n&1)&(hx>>31); /* even n -- 0, odd n -- sign(x) */ x = fabsf(x); - if(ix==0||ix>=0x7f800000) /* if x is 0 or inf */ + if(ix==0||ix>=0x7f800000) /* if x is 0 or inf */ b = zero; else if((float)n<=x) { /* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */ @@ -90,11 +89,11 @@ static float zero = 0.0000000000e+00; } } else { /* use backward recurrence */ - /* x x^2 x^2 + /* x x^2 x^2 * J(n,x)/J(n-1,x) = ---- ------ ------ ..... * 2n - 2(n+1) - 2(n+2) * - * 1 1 1 + * 1 1 1 * (for large x) = ---- ------ ------ ..... * 2n 2(n+1) 2(n+2) * -- - ------ - ------ - @@ -107,7 +106,7 @@ static float zero = 0.0000000000e+00; * 1 * w - ----------------- * 1 - * w+h - --------- + * w+h - --------- * w+2h - ... * * To determine how many terms needed, let @@ -144,15 +143,15 @@ static float zero = 0.0000000000e+00; v = two/x; tmp = tmp*__ieee754_logf(fabsf(v*tmp)); if(tmp<(float)8.8721679688e+01) { - for(i=n-1,di=(float)(i+i);i>0;i--){ + for(i=n-1,di=(float)(i+i);i>0;i--){ temp = b; b *= di; b = b/x - a; a = temp; di -= two; - } + } } else { - for(i=n-1,di=(float)(i+i);i>0;i--){ + for(i=n-1,di=(float)(i+i);i>0;i--){ temp = b; b *= di; b = b/x - a; @@ -164,9 +163,9 @@ static float zero = 0.0000000000e+00; t /= b; b = one; } - } + } } - b = (t*__ieee754_j0f(x)/b); + b = (t*__ieee754_j0f(x)/b); } } if(sgn==1) return -b; else return b; diff --git a/sysdeps/ieee754/ldbl-96/e_j0l.c b/sysdeps/ieee754/ldbl-96/e_j0l.c index 79e13be662..e8966f6120 100644 --- a/sysdeps/ieee754/ldbl-96/e_j0l.c +++ b/sysdeps/ieee754/ldbl-96/e_j0l.c @@ -20,16 +20,16 @@ * for x in (0,2) * j0(x) = 1 - z/4 + z^2*R0/S0, where z = x*x; * for x in (2,inf) - * j0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)-q0(x)*sin(x0)) - * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0) + * j0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)-q0(x)*sin(x0)) + * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0) * as follow: * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4) * = 1/sqrt(2) * (cos(x) + sin(x)) * sin(x0) = sin(x)cos(pi/4)-cos(x)sin(pi/4) * = 1/sqrt(2) * (sin(x) - cos(x)) - * (To avoid cancellation, use + * (To avoid cancellation, use * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x)) - * to compute the worse one.) + * to compute the worse one.) * * 3 Special cases * j0(nan)= nan @@ -47,8 +47,8 @@ * Note: For tiny x, U/V = u0 and j0(x)~1, hence * y0(tiny) = u0 + (2/pi)*ln(tiny), (choose tiny<2**-27) * 2. For x>=2. - * y0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)+q0(x)*sin(x0)) - * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0) + * y0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)+q0(x)*sin(x0)) + * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0) * by the method mentioned above. * 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0. */ @@ -71,8 +71,6 @@ static long double one = 1.0L, invsqrtpi = 5.6418958354775628694807945156077258584405e-1L, tpi = 6.3661977236758134307553505349005744813784e-1L, - j0z1 = 2.40482555769577276862163187932650662155139L, - j0z2 = 5.520078110286310649596604112813027425221865L, /* J0(x) = 1 - x^2 / 4 + x^4 R0(x^2) / S0(x^2) 0 <= x <= 2 @@ -275,7 +273,7 @@ __ieee754_y0l (x) /* The asymptotic expansions of pzero is * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x. * For x >= 2, We approximate pzero by - * pzero(x) = 1 + s^2 R(s^2) / S(s^2) + * pzero(x) = 1 + s^2 R(s^2) / S(s^2) */ #ifdef __STDC__ static const long double pR8[7] = { @@ -450,7 +448,7 @@ pzero (x) /* For x >= 8, the asymptotic expansions of qzero is * -1/8 s + 75/1024 s^3 - ..., where s = 1/x. * We approximate qzero by - * qzero(x) = s*(-.125 + R(s^2) / S(s^2)) + * qzero(x) = s*(-.125 + R(s^2) / S(s^2)) */ #ifdef __STDC__ static const long double qR8[7] = { diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions index 688253212f..c18816ca6f 100644 --- a/sysdeps/unix/sysv/linux/alpha/Versions +++ b/sysdeps/unix/sysv/linux/alpha/Versions @@ -57,21 +57,4 @@ libc { # w* wordexp; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/arm/Versions b/sysdeps/unix/sysv/linux/arm/Versions index df5c9ec26a..32cb185505 100644 --- a/sysdeps/unix/sysv/linux/arm/Versions +++ b/sysdeps/unix/sysv/linux/arm/Versions @@ -31,21 +31,4 @@ libc { # v* versionsort64; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/ia64/Versions b/sysdeps/unix/sysv/linux/ia64/Versions index 9b5e08890e..13d710a078 100644 --- a/sysdeps/unix/sysv/linux/ia64/Versions +++ b/sysdeps/unix/sysv/linux/ia64/Versions @@ -22,21 +22,4 @@ libc { GLIBC_2.2.6 { getunwind; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/m68k/Versions b/sysdeps/unix/sysv/linux/m68k/Versions index 62154b9508..0799bf310e 100644 --- a/sysdeps/unix/sysv/linux/m68k/Versions +++ b/sysdeps/unix/sysv/linux/m68k/Versions @@ -29,21 +29,4 @@ libc { # v* versionsort64; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/mips/Versions b/sysdeps/unix/sysv/linux/mips/Versions index 0c5d798b0b..f71d9b5d88 100644 --- a/sysdeps/unix/sysv/linux/mips/Versions +++ b/sysdeps/unix/sysv/linux/mips/Versions @@ -17,21 +17,4 @@ libc { # _* _test_and_set; } - #GLIBC_2.3 { - # # f* - # fgetxattr; flistxattr; fremovexattr; fsetxattr; - # - # # g* - # getxattr; - # - # # l* - # listxattr; - # lgetxattr; llistxattr; lremovexattr; lsetxattr; - # - # # r* - # removexattr; - # - # # s* - # setxattr; - #} } diff --git a/sysdeps/unix/sysv/linux/powerpc/Versions b/sysdeps/unix/sysv/linux/powerpc/Versions index 18d05121d8..d0bf4a89c0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/Versions +++ b/sysdeps/unix/sysv/linux/powerpc/Versions @@ -20,21 +20,4 @@ libc { # s* scandir64; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Versions b/sysdeps/unix/sysv/linux/s390/s390-32/Versions index 445923db23..3c45a30778 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/Versions +++ b/sysdeps/unix/sysv/linux/s390/s390-32/Versions @@ -23,22 +23,5 @@ libc { # v* versionsort64; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions index bdb32e9786..4529e7fe6f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions @@ -17,21 +17,4 @@ libc { # s* scandir64; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions index 13120a795c..cfcc15b119 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions @@ -8,21 +8,4 @@ libc { # w* wordexp; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } diff --git a/sysdeps/unix/sysv/linux/x86_64/Versions b/sysdeps/unix/sysv/linux/x86_64/Versions index dfda8a5a01..3735871a24 100644 --- a/sysdeps/unix/sysv/linux/x86_64/Versions +++ b/sysdeps/unix/sysv/linux/x86_64/Versions @@ -9,21 +9,4 @@ libc { GLIBC_PRIVATE { __modify_ldt; } - GLIBC_2.3 { - # f* - fgetxattr; flistxattr; fremovexattr; fsetxattr; - - # g* - getxattr; - - # l* - listxattr; - lgetxattr; llistxattr; lremovexattr; lsetxattr; - - # r* - removexattr; - - # s* - setxattr; - } } |