2017-08-31 15:56:45 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* misc/getttyent.c (skip, value): Remove internal_function.
|
|
|
|
* misc/syslog.c (openlog_internal): Likewise.
|
|
|
|
* misc/tsearch.c (trecurse, tdestroy_recurse): Likewise.
|
|
|
|
|
2017-08-31 15:56:32 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* include/nss.h (__nss_valid_field, __nss_valid_list_field)
|
|
|
|
(__nss_rewrite_field): Remove internal_function.
|
|
|
|
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
|
|
|
|
* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
|
|
|
|
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
|
|
|
|
* nss/nsswitch.c (nss_parse_file, nss_getline)
|
|
|
|
(nss_parse_service_list, nss_new_service): Likewise.
|
|
|
|
* nss/rewrite_field.c (__nss_rewrite_field): Likewise.
|
|
|
|
* nss/valid_field.c (__nss_valid_field): Likewise.
|
|
|
|
* nss/valid_list_field.c (__nss_valid_list_field): Likewise.
|
|
|
|
|
2017-08-31 15:56:21 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* malloc/arena.c (__malloc_fork_lock_parent)
|
|
|
|
(__malloc_fork_unlock_parent, __malloc_fork_unlock_child)
|
|
|
|
(next_env_entry, new_heap, heap_trim, arena_get2): Remove
|
|
|
|
internal_function from defintions.
|
|
|
|
* malloc/hooks.c (mem2mem_check, mem2chunk_check): Likewise.
|
|
|
|
* malloc/malloc-internal.h (__malloc_fork_lock_parent)
|
|
|
|
(__malloc_fork_unlock_parent, __malloc_fork_unlock_child): Remove
|
|
|
|
internal_function from declarations.
|
|
|
|
* malloc/malloc.c (internal_function): Do not define.
|
|
|
|
(mem2mem_check): Remove internal_function from declaration.
|
|
|
|
(munmap_chunk, mremap_chunk): Remove internal_function.
|
|
|
|
* malloc/mtrace.c (tr_where): Likewise.
|
|
|
|
|
2017-08-31 15:55:36 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* include/rpc/pmap_clnt.h (__get_socket): Remove
|
|
|
|
internal_function.
|
|
|
|
* sunrpc/auth_des.c (synchronize): Likewise.
|
|
|
|
* sunrpc/auth_unix.c (marshal_new_auth): Likewise.
|
|
|
|
* sunrpc/clnt_perr.c (auth_errmsg): Likewise.
|
|
|
|
* sunrpc/des_impl.c (des_encrypt, des_set_key): Likewise.
|
|
|
|
* sunrpc/key_call.c (key_call_keyenvoy, key_call_socket)
|
|
|
|
(key_call): Likewise.
|
|
|
|
* sunrpc/pm_getport.c (__get_socket): Likewise.
|
|
|
|
* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
|
|
|
|
* sunrpc/svc_unix.c (makefd_xprt): Likewise.
|
|
|
|
* sunrpc/svc_tcp.c (makefd_xprt): Likewise.
|
|
|
|
* sunrpc/svcauth_des.c (cache_init, cache_spot, cache_ref)
|
|
|
|
(invalidate): Likewise.
|
|
|
|
* sunrpc/xcrypt.c (hexval, hex2bin, bin2hex): Likewise.
|
|
|
|
* sunrpc/xdr_rec.c (fix_buf_size, skip_input_bytes, flush_out)
|
|
|
|
(set_input_fragment, get_input_bytes): Likewise.
|
|
|
|
|
2017-08-31 14:55:11 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* malloc/malloc.c (_int_free): Remove locked variable and related
|
|
|
|
asserts.
|
|
|
|
|
2017-08-31 15:28:31 +02:00
|
|
|
2017-08-31 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #22051]
|
|
|
|
* Makerules (build-module-helper-objlist): Filter out
|
|
|
|
$(elf-objpfx)sofini.os.
|
|
|
|
(build-shlib-objlist): Append $(elf-objpfx)sofini.os if it is
|
|
|
|
needed.
|
|
|
|
|
2017-08-31 14:07:23 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* libio/fcloseall.c: Assume weak_alias is defined.
|
|
|
|
* libio/feof.c: Likewise.
|
|
|
|
* libio/fileno.c: Likewise.
|
|
|
|
* libio/fileops.c: Assume _LIBC, errno, __set_errno are defined.
|
|
|
|
(_POSIX_SOURCE, open, lseek, read, write): Remove macro
|
|
|
|
definitions.
|
|
|
|
(_IO_file_open): Call __open directly.
|
|
|
|
(_IO_new_file_sync): Assume ESPIPE is defined.
|
|
|
|
(_IO_file_seekoff_maybe_mmap): Call __read directly.
|
|
|
|
(_IO_new_file_write): Call __write directly.
|
|
|
|
* libio/ftello.c (__ftello): Assume EIO, EOVERFLOW are defined.
|
|
|
|
* libio/ftello64.c (__ftello64): Assume EIO is defined.
|
|
|
|
* libio/genops.c: Assume _LIBC is defined.
|
|
|
|
(save_for_backup): Remove internal_function.
|
|
|
|
* libio/getc.c: Assume weak_alias is defined.
|
|
|
|
* libio/getwc.c: Likewise.
|
|
|
|
* libio/iofclose.c: Assume _LIBC is defined.
|
|
|
|
* libio/iofdopen.c: Likewise.
|
|
|
|
(_IO_fcntl): Remove macro definition.
|
|
|
|
(_IO_new_fdopen): Assume F_GETFL, F_SETFL, O_ACCMODE are defined.
|
|
|
|
Call __fcntl directly.
|
|
|
|
* libio/iofflush.c: Assume weak_alias is defined.
|
|
|
|
* libio/iofgetpos.c (_IO_new_fgetpos): Assume EIO, EOVERFLOW are
|
|
|
|
defined.
|
|
|
|
* libio/iofgetpos64.c (_IO_new_fgetpos64): Assume EIO is defined.
|
|
|
|
* libio/iofgets.c: Likewise.
|
|
|
|
* libio/iofopen.c: Assume _LIBC is defined.
|
|
|
|
* libio/iofopen64.c: Assume _LIBC, weak_alias are defined.
|
|
|
|
* libio/iofputs.c: Assume weak_alias is defined.
|
|
|
|
* libio/iofread.c: Likewise.
|
|
|
|
* libio/iofsetpos.c (_IO_new_fsetpos): Assume EIO is defined.
|
|
|
|
* libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise.
|
|
|
|
* libio/ioftell.c: Assume weak_alias is defined.
|
|
|
|
(_IO_ftell): Assume EIO, EOVERFLOW are defined.
|
|
|
|
* libio/iofwide.c: Assume _LIBC is defined.
|
|
|
|
(_IO_fwide): Drop SHARED conditional because it is implied by
|
|
|
|
SHLIB_COMPAT.
|
|
|
|
* libio/iofwrite.c: Assume weak_alias is defined.
|
|
|
|
* libio/iogetdelim.c: Likewise.
|
|
|
|
* libio/iogets.c: Assume _LIBC, weak_alias are defined.
|
|
|
|
* libio/iogetwline.c (wmemcpy): Remove macro definition.
|
|
|
|
(_IO_getwline): Call __wmemcpy directly.
|
|
|
|
* libio/iopopen.c: Assume _LIBC is defined.
|
|
|
|
(_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl)
|
|
|
|
(_IO_close): Remove macro definitions.
|
|
|
|
(_IO_new_proc_open): Call __fork, __dup2, __close_nocancel, execl,
|
|
|
|
_exit directly.
|
|
|
|
(_IO_new_proc_close): Call __close_nocancel, __waitpid_nocancel
|
|
|
|
directly.
|
|
|
|
* libio/ioputs.c: Assume weak_alias is defined.
|
|
|
|
* libio/ioseekoff.c: Assume errno, __set_errno are defined.
|
|
|
|
* libio/iosetbuffer.c: Assume weak_alias is defined.
|
|
|
|
* libio/iosetvbuf.c: Likewise.
|
|
|
|
* libio/ioungetc.c: Likewise.
|
|
|
|
* libio/libioP.h: Assume _LIBC, __GLIBC__, libc_hidden_proto,
|
|
|
|
libc_hidden_def, libc_hidden_weak, NULL are defined.
|
|
|
|
(mmap, munmap, ftruncate, OS_FSTAT): Remove macro definitions.
|
|
|
|
* libio/oldfilepos.c: Assume _LIBC, errno, __set_errno are
|
|
|
|
defined.
|
|
|
|
(_POSIX_SOURCE, open, lseek, read, write): Remove macro
|
|
|
|
definitions.
|
|
|
|
(_IO_old_file_init_internal): Drop SHARED conditional because it
|
|
|
|
is implied by SHLIB_COMPAT.
|
|
|
|
(_IO_old_file_fopen): Call __open directly.
|
|
|
|
(_IO_old_file_sync): Assume ESPIPE is defined.
|
|
|
|
(_IO_old_file_write): Call __write directly.
|
|
|
|
* libio/oldfdopen.c (_IO_fcntl): Remove macro definition.
|
|
|
|
(_IO_old_fdopen): Assume F_GETFL, O_ACCMODE, F_SETFL are defined.
|
|
|
|
Call __fcntl directly.
|
|
|
|
* libio/oldiofgetpos.c: Assume weak_alias is defined.
|
|
|
|
(_IO_old_fgetpos): Assume EIO is defined.
|
|
|
|
* libio/oldiofgetpos64.c: Assume weak_alias is defined.
|
|
|
|
(_IO_old_fgetpos64): Assume EIO is defined.
|
|
|
|
* libio/oldiofsetpos.c: Assume weak_alias is defined.
|
|
|
|
(_IO_old_fsetpos): Assume EIO is defined.
|
|
|
|
* libio/oldiofsetpos64.c: Assume weak_alias is defined.
|
|
|
|
(_IO_old_fsetpos64): Assume EIO is defined.
|
|
|
|
* libio/oldiopopen.c: Assume _LIBC is defined.
|
|
|
|
(_POSIX_SOURCE, _IO_fork, _IO_dup2, _IO_waitpid, _IO_execl)
|
|
|
|
(_IO_close): Remove macro definitions.
|
|
|
|
(_IO_old_proc_open): Call __pipe, __close, __dup2, execl, _exit
|
|
|
|
directly.
|
|
|
|
(_IO_old_proc_close): Call __close, __waitpid directly.
|
|
|
|
* libio/put.c: Assume weak_alias is defined.
|
|
|
|
* libio/stdfiles.c: Assume _LIBC is defined.
|
|
|
|
* libio/stdio.c: Likewise.
|
|
|
|
* libio/wfileops.c: Likewise.
|
|
|
|
(_IO_wfile_sync): Assume ESPIPE is defined.
|
|
|
|
* libio/wgenops.c: Assume _LIBC is defined.
|
|
|
|
(save_for_wbackup): Remove internal_function.
|
|
|
|
|
2017-08-31 12:02:59 +02:00
|
|
|
2017-08-31 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* malloc/malloc.c (top_check): Change return type to void. Remove
|
|
|
|
internal_function.
|
|
|
|
* malloc/hooks.c (top_check): Likewise.
|
|
|
|
(malloc_check, realloc_check, memalign_check): Adjust.
|
|
|
|
|
2017-08-31 00:02:04 +02:00
|
|
|
2017-08-30 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #21457]
|
|
|
|
* sysdeps/arm/sys/ucontext.h: Do not include <bits/sigcontext.h>.
|
|
|
|
* sysdeps/generic/sys/ucontext.h: Add comment about use of struct
|
|
|
|
sigcontext and namespace requirements.
|
|
|
|
* sysdeps/i386/sys/ucontext.h: Do not include <bits/sigcontext.h>.
|
|
|
|
* sysdeps/m68k/sys/ucontext.h: Likewise.
|
|
|
|
* sysdeps/mips/sys/ucontext.h: Likewise. Include <bits/types.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use
|
|
|
|
__glibc_reserved1 instead of __reserved.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: Use
|
|
|
|
mcontext_t instead of struct sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Use
|
|
|
|
mcontext_t instead of struct sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: Use
|
|
|
|
mcontext_t instead of struct sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
(__ctx): New macro.
|
|
|
|
(struct __ia64_fpreg_mcontext): New type.
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
sigcontext.
|
|
|
|
(_SC_GR0_OFFSET): Use mcontext_t instead of struct sigcontext.
|
|
|
|
(uc_sigmask): Define using __ctx.
|
|
|
|
(uc_stack): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>.
|
|
|
|
(__ctx): Define earlier.
|
|
|
|
(mcontext_t): Define structure contents rather than using struct
|
|
|
|
sigcontext.
|
|
|
|
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include
|
|
|
|
<bits/sigcontext.h>. Include <bits/types.h>.
|
|
|
|
* conform/Makefile (test-xfail-XPG42/signal.h/conform): Remove.
|
|
|
|
(test-xfail-XPG42/sys/wait.h/conform): Likewise.
|
|
|
|
(test-xfail-XPG42/ucontext.h/conform): Likewise.
|
|
|
|
(test-xfail-UNIX98/signal.h/conform): Likewise.
|
|
|
|
(test-xfail-UNIX98/sys/wait.h/conform): Likewise.
|
|
|
|
(test-xfail-UNIX98/ucontext.h/conform): Likewise.
|
|
|
|
(test-xfail-XOPEN2K/signal.h/conform): Likewise.
|
|
|
|
(test-xfail-XOPEN2K/sys/wait.h/conform): Likewise.
|
|
|
|
(test-xfail-XOPEN2K/ucontext.h/conform): Likewise.
|
|
|
|
(test-xfail-POSIX2008/signal.h/conform): Likewise.
|
|
|
|
(test-xfail-POSIX2008/sys/wait.h/conform): Likewise.
|
|
|
|
(test-xfail-XOPEN2K8/signal.h/conform): Likewise.
|
|
|
|
(test-xfail-XOPEN2K8/sys/wait.h/conform): Likewise.
|
|
|
|
|
2017-08-30 20:10:56 +02:00
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* malloc/dynarray_emplace_enlarge.c
|
|
|
|
(__libc_dynarray_emplace_enlarge): Set errno on overflow.
|
|
|
|
* malloc/dynarray_resize.c (__libc_dynarray_resize): Likewise.
|
|
|
|
* malloc/tst-dynarray.c (test_long_overflow): New function.
|
|
|
|
(do_test): Call it.
|
|
|
|
|
2017-08-30 17:16:08 +02:00
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* malloc/malloc.c (ARENA_CORRUPTION_BIT, arena_is_corrupt)
|
|
|
|
(set_arena_corrupt): Remove definitions.
|
|
|
|
(mtrim): Do not check for corrupt arena.
|
|
|
|
* malloc/arena.c (arena_lock, reused_arena, arena_get_retry):
|
|
|
|
Likewise.
|
|
|
|
|
2017-08-30 19:29:38 +02:00
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21754]
|
|
|
|
* malloc/arena.c (TUNABLE_CALLBACK set_mallopt_check): Do not set
|
|
|
|
check_action.
|
|
|
|
(ptmalloc_init): Do not set or use check_action.
|
|
|
|
* malloc/hooks.c (malloc_check_get_size, realloc_check): Adjust
|
|
|
|
call to malloc_printerr. Remove return statement.
|
|
|
|
(free_check): Likewise. Remove arena unlock.
|
|
|
|
(top_check): Update comment. Adjust call to malloc_printerr.
|
|
|
|
Remove heap repair code.
|
|
|
|
* malloc/malloc.c (unlink): Adjust calls to malloc_printerr.
|
|
|
|
(DEFAULT_CHECK_ACTION, check_action): Remove definitions.
|
|
|
|
(sysmalloc): Adjust call to malloc_printerr.
|
|
|
|
(munmap_chunk, __libc_realloc): Likewise. Remove return
|
|
|
|
statement.
|
|
|
|
(_int_malloc, int_realloc): Likewise. Remove errstr variable.
|
|
|
|
Remove errout label and corresponding gotos.
|
|
|
|
(_int_free): Likewise. Remove arena unlock.
|
|
|
|
(do_set_mallopt_check): Do not set check_action.
|
|
|
|
(malloc_printerr): Adjust parameter list. Do not mark arena as
|
|
|
|
corrupt.
|
|
|
|
* manual/memory.texi (Malloc Tunable Parameters): Remove TODO
|
|
|
|
comment.
|
|
|
|
* manual/probes.texi (Memory Allocation Probes): Remove
|
|
|
|
memory_mallopt_check_action.
|
|
|
|
|
2017-08-30 18:25:51 +02:00
|
|
|
2017-08-30 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/makecontext.c (__makecontext):
|
|
|
|
Use pointer to uint64_t instead of long int for sp.
|
|
|
|
|
2017-08-30 16:39:41 +02:00
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21754]
|
|
|
|
* malloc/malloc.c (malloc_printerr): Always terminate the process,
|
|
|
|
without printing a backtrace. Do not leak any information in the
|
|
|
|
error message.
|
|
|
|
* manual/memory.texi (Heap Consistency Checking): Update.
|
|
|
|
* manual/tunables.texi (Memory Allocation Tunables): Likewise.
|
|
|
|
|
2017-08-30 16:20:20 +02:00
|
|
|
2017-08-30 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
Do not scale NPTL tests with available number of CPUs.
|
|
|
|
* nptl/tst-cond16.c (count): Set to constant value of 8.
|
|
|
|
* nptl/tst-cond18.c (count): Likewise.
|
|
|
|
|
2017-08-29 23:07:51 +02:00
|
|
|
2017-08-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #22035]
|
|
|
|
* sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__inline_functions):
|
|
|
|
Define to take a second argument that is a macro that
|
|
|
|
concatentates a suffix, not the suffix itself.
|
|
|
|
(__CONCAT_d): New macro.
|
|
|
|
(__CONCAT_f): Likewise.
|
|
|
|
(__CONCAT_l): Likewise.
|
|
|
|
|
2017-08-29 19:42:42 +02:00
|
|
|
2017-08-29 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
* stdlib/tst-atexit-common.c (do_test): Test handler inheritance
|
|
|
|
by child.
|
|
|
|
|
MIPS/o32: Fix internal_syscall5/6/7
Fix a commit cc25c8b4c119 ("New pthread rwlock that is more scalable.")
regression and prevent uncontrolled stack space usage from happening
when a 5-, 6- or 7-argument syscall wrapper is placed in a loop.
The cause of the problem is the use of `alloca' in regular MIPS/Linux
wrappers to force the use of the frame pointer register in any function
using one or more of these wrappers. Using the frame pointer register
is required so as not to break frame unwinding as the the stack pointer
is lowered within the inline asm used by these wrappers to make room for
the stack arguments, which 5-, 6- and 7-argument syscalls use with the
o32 ABI.
The regular MIPS/Linux wrappers are macros however, expanded inline, and
stack allocations made with `alloca' are not discarded until the return
of the function they are made in. Consequently if called in a loop,
then virtual memory is wasted, and if the loop goes through enough
iterations, then ultimately available memory can get exhausted causing
the program to crash.
Address the issue by replacing the inline code with standalone assembly
functions, which rely on the compiler arranging syscall arguments
according to the o32 function calling convention, which MIPS/Linux
syscalls also use, except for the syscall number passed and the error
flag returned. This way there is no need to fiddle with the stack
pointer anymore and all that has to be handled in the new standalone
functions is the special handling of the syscall number and the error
flag.
Redirect 5-, 6- or 7-argument MIPS16/Linux syscall wrappers to these new
functions as well, so as to avoid an unnecessary double call the
existing wrappers would cause with the new arrangement.
[BZ #21956]
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
[subdir = misc] (sysdep_routines): Remove `mips16-syscall5',
`mips16-syscall6' and `mips16-syscall7'.
(CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c)
(CFLAGS-mips16-syscall7.c): Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc):
Remove `__mips16_syscall5', `__mips16_syscall6' and
`__mips16_syscall7'.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
(__mips16_syscall0): Rename `__mips16_syscall_return' to
`__mips_syscall_return'.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
(__mips16_syscall1): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
(__mips16_syscall2): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
(__mips16_syscall3): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
(__mips16_syscall4): Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
Remove.
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
(__mips16_syscall5): Expand to `__mips_syscall5' rather than
`__mips16_syscall5'. Remove prototype.
(__mips16_syscall6): Expand to `__mips_syscall6' rather than
`__mips16_syscall6'. Remove prototype.
(__mips16_syscall7): Expand to `__mips_syscall7' rather than
`__mips16_syscall7'. Remove prototype.
(__nomips16, __mips16_syscall_return): Move to...
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
(__nomips16, __mips_syscall_return): ... here.
[__mips16] (INTERNAL_SYSCALL_NCS): Rename
`__mips16_syscall_return' to `__mips_syscall_return'.
[__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to
`internal_syscall##nr'.
[!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to
`internal_syscall##nr'.
(FORCE_FRAME_POINTER): Remove.
(__mips_syscall5): New prototype.
(internal_syscall5): Rewrite to call `__mips_syscall5'.
(__mips_syscall6): New prototype.
(internal_syscall6): Rewrite to call `__mips_syscall6'.
(__mips_syscall7): New prototype.
(internal_syscall7): Rewrite to call `__mips_syscall7'.
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file.
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file.
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file.
* sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc]
(sysdep_routines): Add libc-do-syscall.
* sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
`__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'.
2017-08-29 19:31:08 +02:00
|
|
|
2017-08-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
Maciej W. Rozycki <macro@imgtec.com>
|
|
|
|
|
|
|
|
[BZ #21956]
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Makefile
|
|
|
|
[subdir = misc] (sysdep_routines): Remove `mips16-syscall5',
|
|
|
|
`mips16-syscall6' and `mips16-syscall7'.
|
|
|
|
(CFLAGS-mips16-syscall5.c, CFLAGS-mips16-syscall6.c)
|
|
|
|
(CFLAGS-mips16-syscall7.c): Remove.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/Versions (libc):
|
|
|
|
Remove `__mips16_syscall5', `__mips16_syscall6' and
|
|
|
|
`__mips16_syscall7'.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c
|
|
|
|
(__mips16_syscall0): Rename `__mips16_syscall_return' to
|
|
|
|
`__mips_syscall_return'.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c
|
|
|
|
(__mips16_syscall1): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c
|
|
|
|
(__mips16_syscall2): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c
|
|
|
|
(__mips16_syscall3): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c
|
|
|
|
(__mips16_syscall4): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall5.c:
|
|
|
|
Remove.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall6.c:
|
|
|
|
Remove.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall7.c:
|
|
|
|
Remove.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h
|
|
|
|
(__mips16_syscall5): Expand to `__mips_syscall5' rather than
|
|
|
|
`__mips16_syscall5'. Remove prototype.
|
|
|
|
(__mips16_syscall6): Expand to `__mips_syscall6' rather than
|
|
|
|
`__mips16_syscall6'. Remove prototype.
|
|
|
|
(__mips16_syscall7): Expand to `__mips_syscall7' rather than
|
|
|
|
`__mips16_syscall7'. Remove prototype.
|
|
|
|
(__nomips16, __mips16_syscall_return): Move to...
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
|
|
|
|
(__nomips16, __mips_syscall_return): ... here.
|
|
|
|
[__mips16] (INTERNAL_SYSCALL_NCS): Rename
|
|
|
|
`__mips16_syscall_return' to `__mips_syscall_return'.
|
|
|
|
[__mips16] (INTERNAL_SYSCALL_MIPS16): Pass `number' to
|
|
|
|
`internal_syscall##nr'.
|
|
|
|
[!__mips16] (INTERNAL_SYSCALL): Pass `SYS_ify (name)' to
|
|
|
|
`internal_syscall##nr'.
|
|
|
|
(FORCE_FRAME_POINTER): Remove.
|
|
|
|
(__mips_syscall5): New prototype.
|
|
|
|
(internal_syscall5): Rewrite to call `__mips_syscall5'.
|
|
|
|
(__mips_syscall6): New prototype.
|
|
|
|
(internal_syscall6): Rewrite to call `__mips_syscall6'.
|
|
|
|
(__mips_syscall7): New prototype.
|
|
|
|
(internal_syscall7): Rewrite to call `__mips_syscall7'.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/Makefile [subdir = misc]
|
|
|
|
(sysdep_routines): Add libc-do-syscall.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips32/Versions (libc): Add
|
|
|
|
`__mips_syscall5', `__mips_syscall6' and `__mips_syscall7'.
|
|
|
|
|
2017-08-28 16:24:35 +02:00
|
|
|
2017-08-29 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
[BZ #21672]
|
|
|
|
* nptl/allocatestack.c [_STACK_GROWS_DOWN] (setup_stack_prot):
|
|
|
|
Set to use !NEED_SEPARATE_REGISTER_STACK as well.
|
|
|
|
(advise_stack_range): New function.
|
|
|
|
* nptl/pthread_create.c (START_THREAD_DEFN): Move logic to mark
|
|
|
|
stack non required to advise_stack_range at allocatestack.c
|
|
|
|
|
2017-08-29 17:31:08 +02:00
|
|
|
2017-08-29 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Use __uint64_t.
|
|
|
|
|
2017-08-29 17:33:58 +02:00
|
|
|
2017-08-29 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #22026]
|
|
|
|
* iconv/gconv_db.c (gen_steps): Decrement step_cnt after resetting
|
|
|
|
__end_fct. Mangle __end_fct after setting it to NULL.
|
|
|
|
* iconv/Makefile (tests): Add tst-gconv-init-failure.
|
|
|
|
(modules-names, modules-names-tests): Add
|
|
|
|
tst-gconv-init-failure-mod.
|
|
|
|
(gconv-modules): New target.
|
|
|
|
(tst-gconv-init-failure-mod.so): Link against libsupport.
|
|
|
|
(tst-gconv-init-failure): Depend on gconv-modules,
|
|
|
|
tst-gconv-init-failure-mod.so.
|
|
|
|
* iconv/tst-gconv-init-failure-mod.c: New file.
|
|
|
|
* iconv/tst-gconv-init-failure.c: Likewise.
|
|
|
|
* iconv/test-gconv-modules: Likewise.
|
|
|
|
|
2017-08-29 16:51:20 +02:00
|
|
|
2017-08-29 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #22025]
|
|
|
|
* iconv/gconv_db.c (free_derivation): Remove redundant
|
|
|
|
parentheses.
|
|
|
|
(gen_steps): Unconditionally mangle __btowc_fct after
|
|
|
|
initialization.
|
|
|
|
(increment_counter): Likewise. Do not call init_fct for internal
|
|
|
|
modules.
|
|
|
|
|
Fix bits/math-finite.h _MSUF_ expansion namespace (bug 22028).
The current bits/math-finite.h approach to defining functions for
different types, involving math.h defining _MSUF_ and _MSUFTO_ for the
function suffixes involved, is not namespace-clean if one of those
suffixes (f, l, f128) is defined as a macro by the user before math.h
is included; too many levels of macro expansion occur. Instead, those
suffixes should appear directly in the expansion of the macro using ##
so they don't get expanded even if defined as macros by the user (that
is, math.h should be defining __REDIRFROM_X and __REDIRTO_X directly
to use those suffixes rather than suffixes being passed as an argument
by macro callers). This patch makes that change.
Tested for x86_64.
[BZ #22028]
* math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
(_MSUF_): Remove macro.
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_):
Likewise.
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
(__REDIRFROM_X): New macro.
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X):
Likewise.
* math/bits/math-finite.h (__REDIRFROM_X): Remove macro.
(__REDIRTO_X): Likewise.
(__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro
arguments.
(__MATH_REDIRCALL_2): Likewise.
(__MATH_REDIRCALL_INTERNAL): Likewise.
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
(__REDIRFROM (gamma, , _MSUF_)): Likweise.
(__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise.
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
* math/test-finite-macros.c: New file.
* math/Makefile (tests): Add test-finite-macros.
(CFLAGS-test-finite-macros.c): New variable.
2017-08-29 16:15:37 +02:00
|
|
|
2017-08-29 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #22028]
|
|
|
|
* math/math.h [__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
|
|
|
|
(_MSUF_): Remove macro.
|
|
|
|
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (_MSUFTO_):
|
|
|
|
Likewise.
|
|
|
|
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0]
|
|
|
|
(__REDIRFROM_X): New macro.
|
|
|
|
[__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0] (__REDIRTO_X):
|
|
|
|
Likewise.
|
|
|
|
* math/bits/math-finite.h (__REDIRFROM_X): Remove macro.
|
|
|
|
(__REDIRTO_X): Likewise.
|
|
|
|
(__MATH_REDIRCALL): Do not pass _MSUF_ or _MSUFTO_ macro
|
|
|
|
arguments.
|
|
|
|
(__MATH_REDIRCALL_2): Likewise.
|
|
|
|
(__MATH_REDIRCALL_INTERNAL): Likewise.
|
|
|
|
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
|
|
|
|
(__REDIRFROM (gamma, , _MSUF_)): Likweise.
|
|
|
|
(__REDIRFROM (__gamma, _r_finite, _MSUF_)): Likewise.
|
|
|
|
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
|
|
|
|
* math/test-finite-macros.c: New file.
|
|
|
|
* math/Makefile (tests): Add test-finite-macros.
|
|
|
|
(CFLAGS-test-finite-macros.c): New variable.
|
|
|
|
|
2017-08-29 15:53:28 +02:00
|
|
|
2017-08-29 Patsy Franklin <pfrankli@redhat.com>
|
|
|
|
Jeff Law <law@redhat.com>
|
|
|
|
|
|
|
|
[BZ #22025]
|
|
|
|
Mangle NULL pointers in iconv/gconv.
|
|
|
|
* iconv/gconv_cache.c (find_module): Demangle init_fct before
|
|
|
|
checking for NULL. Mangle __btowc_fct if init_fct is non-NULL.
|
|
|
|
* iconv/gconv_db.c (free_derivation): Check that __shlib_handle
|
|
|
|
is non-NULL before demangling the end_fct. Check for NULL
|
|
|
|
end_fct after demangling.
|
|
|
|
(__gconv_release_step): Demangle the end_fct before checking
|
|
|
|
it for NULL. Remove assert on __shlibc_handle != NULL.
|
|
|
|
(gen_steps): Don't check btowc_fct for NULL before mangling.
|
|
|
|
Demangle init_fct before checking for NULL.
|
|
|
|
(increment_counter): Likewise.
|
|
|
|
* gconv_dl.c (__gconv_find_shlib): Don't check init_fct or
|
|
|
|
end_fct for NULL before mangling.
|
|
|
|
* wcsmbs/btowc.c (__btowc): Demangle btowc_fct before checking
|
|
|
|
for NULL.
|
|
|
|
|
2017-08-23 06:27:23 +02:00
|
|
|
2017-08-29 Akhilesh Kumar <akhilesh.k@samsung.com>
|
|
|
|
|
|
|
|
[BZ #21971]
|
|
|
|
* locale/iso-639.def: add Morisyen.
|
|
|
|
|
Provide a C++ version of iszero that does not use __MATH_TG (bug 21930)
When signaling nans are enabled (with -fsignaling-nans), the C++ version
of iszero uses the fpclassify macro, which is defined with __MATH_TG.
However, when support for float128 is available, __MATH_TG uses the
builtin __builtin_types_compatible_p, which is only available in C mode.
This patch refactors the C++ version of iszero so that it uses function
overloading to select between the floating-point types, instead of
relying on fpclassify and __MATH_TG.
Tested for powerpc64le, s390x, x86_64, and with build-many-glibcs.py.
[BZ #21930]
* math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__]
(iszero): New C++ implementation that does not use
fpclassify/__MATH_TG/__builtin_types_compatible_p, when
signaling nans are enabled, since __builtin_types_compatible_p
is a C-only feature.
* math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is
defined, include ieee754_float128.h for access to the union and
member ieee854_float128.ieee.
[__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128.
[__HAVE_DISTINCT_FLOAT128] (check_float128): New function.
* sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
(CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build
options of test-math-zero on powerpc64le.
2017-08-22 21:34:42 +02:00
|
|
|
2017-08-28 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
[BZ #21930]
|
|
|
|
* math/math.h [defined __cplusplus && defined __SUPPORT_SNAN__]
|
|
|
|
(iszero): New C++ implementation that does not use
|
|
|
|
fpclassify/__MATH_TG/__builtin_types_compatible_p, when
|
|
|
|
signaling nans are enabled, since __builtin_types_compatible_p
|
|
|
|
is a C-only feature.
|
|
|
|
* math/test-math-iszero.cc: When __HAVE_DISTINCT_FLOAT128 is
|
|
|
|
defined, include ieee754_float128.h for access to the union and
|
|
|
|
member ieee854_float128.ieee.
|
|
|
|
[__HAVE_DISTINCT_FLOAT128] (do_test): Call check_float128.
|
|
|
|
[__HAVE_DISTINCT_FLOAT128] (check_float128): New function.
|
|
|
|
* sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
|
|
|
|
(CXXFLAGS-test-math-iszero.cc): Add -mfloat128 to the build
|
|
|
|
options of test-math-zero on powerpc64le.
|
|
|
|
|
2017-08-28 17:45:53 +02:00
|
|
|
2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf):
|
|
|
|
Change double to float.
|
|
|
|
|
2017-08-28 17:19:52 +02:00
|
|
|
2017-08-28 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* math/math-svid-compat.h [!__ASSEMBLER__]: Make code
|
|
|
|
unconditional.
|
|
|
|
* sysdeps/ieee754/s_lib_version.c [!defined SHARED]: Remove
|
|
|
|
conditional code; define contents only for [LIBM_SVID_COMPAT].
|
|
|
|
|
2017-08-28 13:47:25 +02:00
|
|
|
2017-08-28 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-options)
|
|
|
|
(abi-lp64_be-options): Remove.
|
|
|
|
* sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-options)
|
|
|
|
(abi-hard-options): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/Makefile(abi-o32_soft-options)
|
|
|
|
(abi-o32_hard-options, abi-o32_soft_2008-options)
|
|
|
|
(abi-o32_hard_2008-options, abi-n32_soft-options)
|
|
|
|
(abi-n32_hard-options, abi-n32_soft_2008-options)
|
|
|
|
(abi-n32_hard_2008-options, abi-n64_soft-options)
|
|
|
|
(abi-n64_hard-options, abi-n64_soft_2008-options)
|
|
|
|
(abi-n64_hard_2008-options): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/Makefile (abi-32-options)
|
|
|
|
(abi-64-v1-options, abi-64-v2-options): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/Makefile (abi-32-options)
|
|
|
|
(abi-64-options): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/Makefile (abi-32-options)
|
|
|
|
(abi-64-options): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/tile/tilegx/Makefile (abi-32-options)
|
|
|
|
(abi-64-options): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/x86/Makefile (abi-32-options)
|
|
|
|
(abi-64-options, abi-x32-options): Likewise.
|
|
|
|
|
2017-08-28 11:31:23 +02:00
|
|
|
2017-08-28 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
Store supported list of SYS_* system calls in the source tree.
|
|
|
|
* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
|
|
|
|
(bits/syscall.h): Generate from list file.
|
|
|
|
[$(subdir) = misc] (before-compile): Add bits/syscall.h.
|
|
|
|
[$(subdir) = misc] (tests): Add tst-syscall-list.
|
|
|
|
[$(subdir) = misc] (tests-special): Add tst-syscall-list.out
|
|
|
|
[$(subdir) = misc] (tst-syscall-list-macros.list)
|
|
|
|
[$(subdir) = misc] (tst-syscall-list-nr.list)
|
|
|
|
(tst-syscall-list-sys.list): Helper targets for new
|
|
|
|
tst-syscall-list test.
|
|
|
|
[$(subdir) = misc] (tst-syscall-list.out): Run test script
|
|
|
|
tst-syscall-list.sh.
|
|
|
|
[$(subdir) = misc] (bits/syscall%h, bits/syscall%d): Remove
|
|
|
|
target. Do not include bits/syscall.d.
|
|
|
|
[$(subdir) = misc] (generated): Do not update.
|
|
|
|
* sysdeps/unix/sysv/linux/syscall-names.list: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/gen-syscall-h.awk: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/filter-nr-syscalls.awk: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/tst-syscall-list.sh: Likewise.
|
|
|
|
|
2017-08-28 04:10:40 +02:00
|
|
|
2017-08-27 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
* stdlib/Makefile (tst-atexit, tst-at_quick_exit): New tests.
|
|
|
|
(tst-cxa_atexit, tst-on_exit): Likewise.
|
|
|
|
* stdlib/Makefile (tests): Add tst-atexit, tst-at_quick_exit,
|
|
|
|
tst-cxa_atexit, and tst-on_exit.
|
|
|
|
* stdlib/tst-atexit-common.c: New file.
|
|
|
|
* stdlib/tst-atexit.c: New file.
|
|
|
|
* stdlib/tst-at_quick_exit.c: New file.
|
|
|
|
* stdlib/tst-cxa_atexit.c: New file.
|
|
|
|
* stdlib/tst-on_exit.c: New file.
|
|
|
|
|
2017-08-27 22:00:05 +02:00
|
|
|
2017-08-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
* sysdeps/mach/hurd/bits/sysmacros.h: New file.
|
2017-08-27 22:10:17 +02:00
|
|
|
* mach/stack_chk_fail_local.c: New file.
|
|
|
|
* hurd/stack_chk_fail_local.c: New file.
|
|
|
|
* mach/Machrules ($(interface-library)-routines): Add
|
|
|
|
stack_chk_fail_local.
|
2017-08-27 22:26:49 +02:00
|
|
|
* mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
|
|
|
|
CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
|
|
|
|
CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
|
|
|
|
CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
|
|
|
|
* hurd/Makefile (CFLAGS-hurdstartup.o,
|
|
|
|
CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).
|
2017-08-27 22:00:05 +02:00
|
|
|
|
2017-08-25 19:49:04 +02:00
|
|
|
2017-08-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86/cpu-features.h [__ASSEMBLER__]
|
|
|
|
(index_cpu_*, index_arch_*): Removed.
|
|
|
|
|
2017-08-25 19:21:35 +02:00
|
|
|
2017-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h (elf_greg_t):
|
|
|
|
Use uint64_t instead of unsigned long.
|
|
|
|
|
2017-08-25 13:33:04 +02:00
|
|
|
2017-08-25 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-25 19:02:33 +02:00
|
|
|
* math/tgmath.h [__HAVE_FLOAT128]: Change conditional to
|
|
|
|
[__HAVE_DISTINCT_FLOAT128].
|
|
|
|
|
Clean up bits/math-finite.h for aliasing types.
This patch cleans up how bits/math-finite.h handles types that are
ABI-aliases of other types.
For such types, no __*_finite functions exist; instead,
bits/math-finite.h must redirect calls to a the functions for a
canonical choice of type for each floating-point format. (For the
actual public interfaces, symbols need exporting for each type, even
those that are ABI-aliases, because of standard requirements that
programs can declare the functions themselves without including
<math.h>, but that does not apply to __*_finite.)
At present, there is a special-case conditional in bits/math-finite.h
on __MATH_DECLARING_LDOUBLE && defined __NO_LONG_DOUBLE_MATH to handle
redirecting long double function calls to double __*_finite. This
patch replaces this by a more general mechanism. math.h, before each
inclusion of bits/math-finite.h, defines _MSUFTO_ as the suffix to use
on the target of redirection, in addition to the existing _MSUF_.
This way, __MATH_DECLARING_LDOUBLE can go away, as can the special
conditional in bits/math-finite.h. With this patch, math.h is now
prepared for the case of supporting float128 functions as aliases of
long double ones on platforms where long double is binary128, with
_MSUFTO_ appropriately defined for that case, and appropriate _MSUFTO_
definitions can easily be included when supporting _Float32 / _Float64
/ _Float32x / _Float64x (which will always be ABI-aliases of another
type when supported).
Tested for x86_64, and did a compilation test for ARM with
build-many-glibcs.py to cover the long double = double case.
* math/math.h (_MSUFTO_): Define and undefine for each inclusion
of <bits/math-finite.h>.
(__MATH_DECLARING_LDOUBLE): Do not define and undefine for each
inclusion of <bits/math-finite.h>.
* math/bits/math-finite.h (__REDIRTO_X): Do not define
conditionally on [__MATH_DECLARING_LDOUBLE && defined
__NO_LONG_DOUBLE_MATH].
(__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call.
(__MATH_REDIRCALL_2): Likewise.
(__MATH_REDIRCALL_INTERNAL): Likewise.
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
(__REDIRFROM (gamma, , _MSUF_)): Likewise.
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
2017-08-25 18:11:13 +02:00
|
|
|
* math/math.h (_MSUFTO_): Define and undefine for each inclusion
|
|
|
|
of <bits/math-finite.h>.
|
|
|
|
(__MATH_DECLARING_LDOUBLE): Do not define and undefine for each
|
|
|
|
inclusion of <bits/math-finite.h>.
|
|
|
|
* math/bits/math-finite.h (__REDIRTO_X): Do not define
|
|
|
|
conditionally on [__MATH_DECLARING_LDOUBLE && defined
|
|
|
|
__NO_LONG_DOUBLE_MATH].
|
|
|
|
(__MATH_REDIRCALL): Use _MSUFTO_ in __REDIRTO call.
|
|
|
|
(__MATH_REDIRCALL_2): Likewise.
|
|
|
|
(__MATH_REDIRCALL_INTERNAL): Likewise.
|
|
|
|
(__REDIRFROM (lgamma, , _MSUF_)): Likewise.
|
|
|
|
(__REDIRFROM (gamma, , _MSUF_)): Likewise.
|
|
|
|
(__REDIRFROM (tgamma, , _MSUF_)): Likewise.
|
|
|
|
|
2017-08-25 13:33:04 +02:00
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-power5.S:
|
|
|
|
Remove file.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat-ppc32.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrt_compat.c:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-power5.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat-ppc32.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/w_sqrtf_compat.c:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
|
|
|
|
(libm-sysdep-routines): Remove w_sqrt_compat-power5,
|
|
|
|
w_sqrt_compat-ppc32, w_sqrtf_compat-power5 and
|
|
|
|
w_sqrtf_compat-ppc32.
|
|
|
|
|
2017-08-23 15:16:54 +02:00
|
|
|
2017-08-24 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* math/math.h [defined __cplusplus] (issignaling): In the long
|
|
|
|
double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH
|
|
|
|
is not defined. Call __issignaling, otherwise.
|
|
|
|
|
2015-11-12 17:01:36 +01:00
|
|
|
2017-08-24 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
* sysdeps/unix/make-syscalls.sh: Remove cancellable tagging for
|
|
|
|
syscall definitions and replace __builtin_expect with __glibc_likely.
|
|
|
|
* sysdeps/unix/syscall-template.S: Update comment about cancellable
|
|
|
|
syscall.
|
|
|
|
(SYSCALL_CANCELLABLE): Removedefinition
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (__local_enable_asynccancel): Likewise.
|
|
|
|
[IS_IN (libpthread)] (__local_disable_asynccancel): Likewise.
|
|
|
|
[IS_IN (libc)] (__local_enable_asynccancel): Likewise.
|
|
|
|
[IS_IN (libc)] (__local_enable_asynccancel): Likewise.
|
|
|
|
[IS_IN (librt)] (__local_disable_asynccancel): Likewise.
|
|
|
|
[IS_IN (librt)] (__local_disable_asynccancel): Likewise.
|
|
|
|
(CENABLE): Likewise.
|
|
|
|
(CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
defintion.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h (PSEUDO):
|
|
|
|
Remove definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
(SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Remove file.
|
|
|
|
* sysdeps/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Remove file.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Remove
|
|
|
|
definition.
|
|
|
|
(PSEUDO_END): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libpthread)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (libc)] (CENABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[IS_IN (librt)] (CDISABLE): Likewise.
|
|
|
|
[__ASSEMBLER__] (SINGLE_THREAD_P): Likewise.
|
|
|
|
|
2017-08-24 16:56:11 +02:00
|
|
|
2017-08-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
|
|
|
|
* sysdeps/ieee754/dbl-64/Makefile: Don't override CFLAGS.
|
|
|
|
|
2017-08-23 18:11:41 +02:00
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/libm-test-ulps: Regenerated.
|
|
|
|
|
2017-08-23 17:22:52 +02:00
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21982]
|
|
|
|
* string/stratcliff.c (do_test): Declare size, nchars, inner,
|
|
|
|
middle and outer with size_t instead of int. Repleace %d and
|
|
|
|
%Zd with %zu in printf. Update "MAX (0, nchars - 128)" and
|
|
|
|
"MAX (outer, nchars - 64)" to support unsigned outer and
|
|
|
|
nchars. Also exit loop when outer == 0.
|
|
|
|
|
2017-08-23 15:40:14 +02:00
|
|
|
2017-08-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
* include/fcntl.h (__fcntl_nocancel): Remove definition.
|
|
|
|
* include/signal.h (__sigsuspend_nocancel): Likewise.
|
|
|
|
* include/time.h (__nanosleep_nocancel): Likewise.
|
|
|
|
* sysdeps/generic/not-cancel.h (__fcntl_nocancel): New macro.
|
|
|
|
* login/utmp_file.c: Include non cancellable syscall header.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): New
|
|
|
|
prototype.
|
|
|
|
|
2017-08-23 15:16:12 +02:00
|
|
|
2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Replace AVX512F
|
|
|
|
.byte sequences with AVX512F instructions.
|
|
|
|
* sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/svml_s_sincosf16_core.S: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S:
|
|
|
|
Likewise.
|
|
|
|
|
2017-08-23 01:22:05 +02:00
|
|
|
2017-08-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
|
|
Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
* sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic):
|
|
|
|
Use PTR_REG macro in cmp instruction.
|
|
|
|
|
Fix remaining return type of ifunc resolver declaration
Since Martin Sebor's commit
commit ee4e992ebe5f9712faedeefe8958b67d61eaa0f2
Author: Martin Sebor <msebor@redhat.com>
Date: Tue Aug 22 09:35:23 2017 -0600
Declare ifunc resolver to return a pointer to the same type as the target
function to help GCC detect incompatibilities between the two when it's
enhanced to do so.
builds for powerpc64le fail in the declaration of some ifunc resolvers,
because the ifunc is declared with unmatching return types. One of the
declarations comes from the __ifunc_resolver macro, which was patched by
the aforementioned commit:
/* Helper / base macros for indirect function symbols. */
#define __ifunc_resolver(type_name, name, expr, arg, init, classifier) \
classifier inhibit_stack_protector \
__typeof (type_name) *name##_ifunc (arg) \
whereas the other comes from the unpatched __ifunc macro when
HAVE_GCC_IFUNC is not defined:
# define __ifunc(type_name, name, expr, arg, init) \
extern __typeof (type_name) name; \
void *name##_ifunc (arg) __asm__ (#name); \
This patch changes the return type of the ifunc resolver in the __ifunc
macro, so that it matches the return type of the target function,
similarly to what the aforementioned commit does.
Tested for powerpc64le and s390x with unpatched GCC.
* include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc):
Change the return type of the ifunc resolver to match the return
type of the target function.
2017-08-22 19:01:07 +02:00
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* include/libc-symbols.h: [!defined HAVE_GCC_IFUNC] (__ifunc):
|
|
|
|
Change the return type of the ifunc resolver to match the return
|
|
|
|
type of the target function.
|
|
|
|
|
2016-07-13 11:50:05 +02:00
|
|
|
2017-08-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2016-07-19 15:23:49 +02:00
|
|
|
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (pread64): Remove.
|
|
|
|
(preadv64): Likewise.
|
|
|
|
(pwrite64(: Likewise.
|
|
|
|
(pwritev64): Likewise.
|
|
|
|
|
2016-07-13 11:50:05 +02:00
|
|
|
* sysdeps/unix/sysv/linux/x86_64/sysdep.h
|
|
|
|
(INTERNAL_SYSCALL_NCS_TYPES): Remove define.
|
|
|
|
(LOAD_ARGS_0): Likewise.
|
|
|
|
(LOAD_ARGS_1): Likewise.
|
|
|
|
(LOAD_ARGS_2): Likewise.
|
|
|
|
(LOAD_ARGS_3): Likewise.
|
|
|
|
(LOAD_ARGS_4): Likewise.
|
|
|
|
(LOAD_ARGS_5): Likewise.
|
|
|
|
(LOAD_ARGS_6): Likewise.
|
|
|
|
(LOAD_REGS_0): Likewise.
|
|
|
|
(LOAD_REGS_1): Likewise.
|
|
|
|
(LOAD_REGS_2): Likewise.
|
|
|
|
(LOAD_REGS_3): Likewise.
|
|
|
|
(LOAD_REGS_4): Likewise.
|
|
|
|
(LOAD_REGS_5): Likewise.
|
|
|
|
(LOAD_REGS_6): Likewise.
|
|
|
|
(ASM_ARGS_0): Likewise.
|
|
|
|
(ASM_ARGS_1): Likewise.
|
|
|
|
(ASM_ARGS_2): Likewise.
|
|
|
|
(ASM_ARGS_3): Likewise.
|
|
|
|
(ASM_ARGS_4): Likewise.
|
|
|
|
(ASM_ARGS_5): Likewise.
|
|
|
|
(ASM_ARGS_6): Likewise.
|
|
|
|
(LOAD_ARGS_TYPES_1): Likewise.
|
|
|
|
(LOAD_ARGS_TYPES_2): Likewise.
|
|
|
|
(LOAD_ARGS_TYPES_3): Likewise.
|
|
|
|
(LOAD_ARGS_TYPES_4): Likewise.
|
|
|
|
(LOAD_ARGS_TYPES_5): Likewise.
|
|
|
|
(LOAD_ARGS_TYPES_6): Likewise.
|
|
|
|
(LOAD_REGS_TYPES_1): Likewise.
|
|
|
|
(LOAD_REGS_TYPES_2): Likewise.
|
|
|
|
(LOAD_REGS_TYPES_3): Likewise.
|
|
|
|
(LOAD_REGS_TYPES_4): Likewise.
|
|
|
|
(LOAD_REGS_TYPES_5): Likewise.
|
|
|
|
(LOAD_REGS_TYPES_6): Likewise.
|
|
|
|
(TYPEFY): New define.
|
|
|
|
(ARGIFY): Likewise.
|
|
|
|
(internal_syscall0): Likewise.
|
|
|
|
(internal_syscall1): Likewise.
|
|
|
|
(internal_syscall2): Likewise.
|
|
|
|
(internal_syscall3): Likewise.
|
|
|
|
(internal_syscall4): Likewise.
|
|
|
|
(internal_syscall5): Likewise.
|
|
|
|
(internal_syscall6): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/x32/times.c
|
|
|
|
(INTERNAL_SYSCALL_NCS): Remove define.
|
|
|
|
(internal_syscall1): Add define.
|
|
|
|
|
2017-08-22 16:14:15 +02:00
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* math/w_remainder_compat.c: Remove duplicate inclusion of
|
|
|
|
math-svid-compat.h.
|
|
|
|
* math/w_remainderf_compat.c: Likewise.
|
|
|
|
* math/w_remainderl_compat.c: Likewise.
|
|
|
|
|
2017-08-08 23:52:03 +02:00
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
|
|
|
|
|
Fix tgmath.h handling of complex integers (bug 21684).
The tgmath.h macros return a real type not a complex type when an
argument is of complex integer type (a GNU extension) and there are no
arguments of complex floating type. It seems clear that just as real
integers are mapped to double for tgmath.h, so complex integers should
be mapped to _Complex double.
This patch implements such a mapping. The main complication in fixing
this bug is that the tgmath.h macros expand their arguments a large
number of times, resulting in exponential blowup of the size of the
expansion when calls to tgmath.h macros are used in the arguments of
such macros; it would be unfortunate for fixing a bug with a fairly
obscure extension to make the macros expand their arguments even more
times. Thus, this patch optimizes the definitions of the relevant
macros. __tgmath_real_type previously expanded its argument 7 times
and now expands it 3 times. __tgmath_complex_type, used in place of
__tgmath_real_type only for functions that might return either real or
complex types, not for complex functions that always return real types
or always return complex types, expands its argument 5 times. So the
sizes of the macro expansions from nested macro calls are
correspondingly reduced (remembering that each tgmath.h macro expands
__tgmath_real_type, or sometimes now __tgmath_complex_type, several
times).
Sometimes the real return type resulted from calling a complex
function and converting the result to a real type; sometimes it
resulted from calling a real function, because the logic for
determining whether arguments were real or complex, based on sizeof,
was confused by integer promotions applying to e.g. short int but not
_Complex short int. The relevant tests are converted to use a new
macro __expr_is_real, which, by calling __builtin_classify_type rather
than comparing the results of two calls to sizeof, also reduces the
number of times macros expand their arguments.
Although there are reductions in the number of times macros expand
their arguments, I do not consider this to fix bug 21660, since a
proper fix means each macro expanding its arguments only once (via
using new compiler features designed for that purpose).
Tested for x86_64.
[BZ #21684]
* math/tgmath.h (__floating_type): Simplify definitions.
(__real_integer_type): New macro.
(__complex_integer_type): Likewise.
(__expr_is_real): Likewise.
(__tgmath_real_type_sub): Update comment to describe handling of
complex types.
(__tgmath_complex_type_sub): New macro.
(__tgmath_complex_type): Likewise.
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
(__TGMATH_CF128): Use __expr_is_real.
(__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and
__expr_is_real.
(__TGMATH_BINARY_REAL_IMAG): Likewise.
(__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real.
* math/gen-tgmath-tests.py (Type.create_type): Create complex
integer types.
2017-08-22 19:55:42 +02:00
|
|
|
2017-08-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #21684]
|
|
|
|
* math/tgmath.h (__floating_type): Simplify definitions.
|
|
|
|
(__real_integer_type): New macro.
|
|
|
|
(__complex_integer_type): Likewise.
|
|
|
|
(__expr_is_real): Likewise.
|
|
|
|
(__tgmath_real_type_sub): Update comment to describe handling of
|
|
|
|
complex types.
|
|
|
|
(__tgmath_complex_type_sub): New macro.
|
|
|
|
(__tgmath_complex_type): Likewise.
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
(__TGMATH_CF128): Use __expr_is_real.
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG): Use __tgmath_complex_type and
|
|
|
|
__expr_is_real.
|
|
|
|
(__TGMATH_BINARY_REAL_IMAG): Likewise.
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG_RET_REAL): Use __expr_is_real.
|
|
|
|
* math/gen-tgmath-tests.py (Type.create_type): Create complex
|
|
|
|
integer types.
|
|
|
|
|
2017-08-21 22:23:56 +02:00
|
|
|
2017-08-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-08-22 15:09:52 +02:00
|
|
|
* sysdeps/generic/not-cancel.h (sigsuspend_not_cancel): Remove
|
|
|
|
macro.
|
|
|
|
* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Remove
|
|
|
|
alias.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (sigsuspend_not_cancel):
|
|
|
|
Likewise.
|
|
|
|
|
2017-07-03 20:54:02 +02:00
|
|
|
* nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Replace
|
|
|
|
nanosleep_not_cancel with __nanosleep_nocancel.
|
|
|
|
* sysdeps/generic/not-cancel.h (nanosleep_not_cancel): Remove macro.
|
|
|
|
(__nanosleep_nocancel): New macro.
|
|
|
|
* sysdeps/unix/sysv/linux/nanosleep.c (__nanosleep_nocancel): New
|
|
|
|
function.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (nanosleep_not_cancel): Remove
|
|
|
|
macro.
|
|
|
|
(__nanosleep_nocancel): New prototype.
|
|
|
|
|
2017-08-21 22:23:56 +02:00
|
|
|
* nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Replace
|
|
|
|
pause_not_cancel with __pause_nocancel.
|
|
|
|
* sysdeps/generic/not-cancel.h (pause_not_cancel): Remove macro.
|
|
|
|
(__pause_nocancel): New macro.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): Remove
|
|
|
|
macro.
|
|
|
|
(__pause_nocancel): New prototype.
|
|
|
|
* sysdeps/unix/sysv/linux/pause.c (__pause_nocancel): New function.
|
|
|
|
|
2017-08-22 17:35:23 +02:00
|
|
|
2017-08-22 Martin Sebor <msebor@redhat.com>
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__ifunc_resolver): Declare resolver
|
|
|
|
to return a pointer to the same type as the target function.
|
|
|
|
|
2017-08-22 16:47:34 +02:00
|
|
|
2017-08-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
[BZ #21986]
|
|
|
|
* include/printf.h (__printf_fphex): Add attribute_hidden.
|
|
|
|
(__guess_grouping): New prototype.
|
|
|
|
* stdio-common/printf_fp.c (__guess_grouping): Removed.
|
|
|
|
* stdio-common/reg-printf.c (__register_printf_specifier): Add
|
|
|
|
libc_hidden_proto and libc_hidden_def.
|
|
|
|
* stdlib/strfmon_l.c (__guess_grouping): Removed.
|
|
|
|
(__vstrfmon_l): Remove the third argument passed to
|
|
|
|
__guess_grouping.
|
|
|
|
|
2017-08-14 18:46:15 +02:00
|
|
|
2017-08-22 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* math/math.h [defined __cplusplus] (issignaling): Provide a C++
|
|
|
|
definition for issignaling that does not rely on __MATH_TG,
|
|
|
|
since __MATH_TG uses __builtin_types_compatible_p, which is only
|
|
|
|
available in C mode.
|
|
|
|
(CFLAGS-test-math-issignaling.cc): New variable.
|
|
|
|
* math/Makefile [CXX] (tests): Add test-math-issignaling.
|
|
|
|
* math/test-math-issignaling.cc: New test for C++ implementation
|
|
|
|
of type-generic issignaling.
|
|
|
|
* sysdeps/powerpc/powerpc64le/Makefile [subdir == math]
|
|
|
|
(CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build
|
|
|
|
options of test-math-issignaling on powerpc64le.
|
|
|
|
|
2017-08-22 13:49:14 +02:00
|
|
|
2017-08-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
|
|
|
building libc.a.
|
|
|
|
(hidden_proto): Likewise.
|
|
|
|
(hidden_tls_proto): Likewise.
|
|
|
|
(__hidden_proto): Likewise.
|
|
|
|
|
2017-08-22 12:45:16 +02:00
|
|
|
2017-08-22 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
math: Statically link tests of internal functionality.
|
|
|
|
* math/Makefile (tests): Remove atest-exp, atest-sincos,
|
|
|
|
atest-exp2.
|
|
|
|
(tests-static): Add atest-exp, atest-sincos, atest-exp2.
|
|
|
|
(gmp-objs): Remove assignment.
|
|
|
|
(atest-exp, atest-sincos, atest-exp2): Remove targets.
|
|
|
|
|
2017-08-22 02:30:51 +02:00
|
|
|
2017-08-22 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-22 02:59:43 +02:00
|
|
|
[BZ #21987]
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Remove file
|
|
|
|
and copy to ...
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h:
|
|
|
|
... here.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h:
|
|
|
|
... and here.
|
|
|
|
|
2017-08-22 02:30:51 +02:00
|
|
|
* assert/Makefile [$(have-cxx-thread_local)]: Move conditional
|
|
|
|
variable definitions above inclusion of ../Rules.
|
|
|
|
|
2017-08-21 23:43:32 +02:00
|
|
|
2017-08-21 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* sysdeps/ieee754/k_standard.c (__kernel_standard): Add default
|
|
|
|
case calling __builtin_unreachable.
|
|
|
|
|
2017-07-03 20:33:23 +02:00
|
|
|
2017-08-21 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-07-03 20:43:51 +02:00
|
|
|
* libio/ioopen.c (_IO_waitpid): Replace waitpid_not_cancel with
|
|
|
|
__waitpid_nocancel.
|
|
|
|
* sysdeps/generic/not-cancel.h (waitpid_not_cancel): Remove macro.
|
|
|
|
(__waitpid_nocancel): New macro.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (waitpid_not_cancel): Remove
|
|
|
|
macro.
|
|
|
|
(__waitpid_nocancel): Replace macro with a function.
|
|
|
|
* sysdeps/unix/sysv/linux/waitpid.c (__waitpid_nocancel): New
|
|
|
|
function.
|
|
|
|
|
2017-07-03 20:37:16 +02:00
|
|
|
* login/utmp_file.c (timeout_handler): Replace fcntl_not_cancel with
|
|
|
|
__fcntl_nocancel.
|
|
|
|
* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Remove macro.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Likewise.
|
|
|
|
|
2017-07-03 20:33:23 +02:00
|
|
|
* gmon/gmon.c (write_hist): Replace writev_not_cancel_no_status with
|
|
|
|
__writev_nocancel_nostatus.
|
|
|
|
(write_call_graph): Likewise.
|
|
|
|
(write_bb_counts): Likewise.
|
|
|
|
* resolv/herror.c (herror): Likewise.
|
|
|
|
* sysdeps/generic/not-cancel.h (writev_not_cancel_no_status): Remove
|
|
|
|
macro.
|
|
|
|
(__writev_nocancel_nostatus): New macro.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (writev_not_cancel_no_status):
|
|
|
|
Remove macro.
|
|
|
|
(__writev_nocancel_nostatus): New function.
|
|
|
|
|
Obsolete matherr, _LIB_VERSION, libieee.a.
This patch obsoletes support for SVID libm error handling (the system
where a user-defined function matherr is called on a libm function
error; only enabled if you also set _LIB_VERSION = _SVID_ or
_LIB_VERSION = _XOPEN_) and the use of the _LIB_VERSION global
variable to control libm error handling. matherr and _LIB_VERSION are
made into compat symbols, not supported for new ports or for static
linking. The libieee.a object file (which sets _LIB_VERSION = _IEEE_,
so disabling errno setting for some functions) is also removed, and
all the related definitions are removed from math.h.
The manual already recommends against using matherr, and it's already
not supported for _Float128 functions (those use new wrappers that
don't support matherr, only errno) - this patch means that it becomes
possible to e.g. add sinf32 as an alias to sinf without that resulting
in undesired matherr support in sinf32 for existing glibc ports.
matherr support is not part of any standard supported by glibc (it was
removed in XPG4).
Because matherr is a function to be defined by the user, of course
user programs defining such a function will still continue to link; it
just quietly won't be used. If they try to write to the library's
copy of _LIB_VERSION to enable SVID error handling, however, they will
get a link error (but if they define their own _LIB_VERSION variable,
they won't).
I expect the most likely case of build failures from this patch to be
programs with unconditional cargo-culted uses of -lieee (based on a
notion of "I want IEEE floating point", not any actual requirement for
that library).
Ideally, the new-port-or-static-linking case would use the new
wrappers used for _Float128. This is not implemented in this patch,
because of the complication of architecture-specific (powerpc32 and
sparc) sqrt wrappers that use _LIB_VERSION and __kernel_standard
directly. Thus, the old wrappers and __kernel_standard are still
built unconditionally, and _LIB_VERSION still exists in static libm.
But when the old wrappers and __kernel_standard are built in the
non-compat case, _LIB_VERSION and matherr are defined as macros so
code to support those features isn't actually built into static libm
or new ports' shared libm after this patch.
I intend to move to the new wrappers for static libm and new ports in
followup patches. I believe the sqrt wrappers for powerpc32 and sparc
can reasonably be removed. GCC already optimizes the normal case of
sqrt by generating code that uses a hardware instruction and only
calls the sqrt function if the argument was negative (if
-fno-math-errno, of course, it just uses the hardware instruction
without any check for negative argument being needed). Thus those
wrappers will only actually get called in the case of negative
arguments, which is not a case it makes sense to optimize for. But
even without removing the powerpc32 and sparc wrappers it should still
be possible to move to the new wrappers for static libm and new ports,
just without having those dubious architecture-specific optimizations
in static libm.
Everything said about matherr equally applies to matherrf and matherrl
(IA64-specific, undocumented), except that the structure of IA64 libm
means it won't be converted to using the new wrappers (it doesn't use
the old ones either, but its own error-handling code instead).
As with other tests of compat symbols, I expect test-matherr and
test-matherr-2 to need to become appropriately conditional once we
have a system for disabling such tests for ports too new to have the
relevant symbols.
Tested for x86_64 and x86, and with build-many-glibcs.py.
* math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
[__USE_MISC] (_LIB_VERSION): Likewise.
[__USE_MISC] (struct exception): Likewise.
[__USE_MISC] (matherr): Likewise.
[__USE_MISC] (DOMAIN): Likewise.
[__USE_MISC] (SING): Likewise.
[__USE_MISC] (OVERFLOW): Likewise.
[__USE_MISC] (UNDERFLOW): Likewise.
[__USE_MISC] (TLOSS): Likewise.
[__USE_MISC] (PLOSS): Likewise.
[__USE_MISC] (HUGE): Likewise.
[__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
* math/math-svid-compat.h: New file.
* conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
and matherrl.
* include/math.h [!_ISOMAC] (__matherr): Remove.
* manual/arith.texi (FP Exceptions): Do not document matherr.
* math/Makefile (tests): Change test-matherr to test-matherr-3.
(tests-internal): New variable.
(install-lib): Do not add libieee.a.
(non-lib.a): Likewise.
(extra-objs): Do not add libieee.a and ieee-math.o.
(CPPFLAGS-s_lib_version.c): Remove variable.
($(objpfx)libieee.a): Remove rule.
($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
* math/ieee-math.c: Remove.
* math/libm-test-support.c (matherr): Remove.
* math/test-matherr.c: Use <support/test-driver.c>. Add copyright
and license notices. Include <math-svid-compat.h> and
<shlib-compat.h>.
(matherr): Undefine as macro. Use compat_symbol_reference.
(_LIB_VERSION): Likewise.
* math/test-matherr-2.c: New file.
* math/test-matherr-3.c: Likewise.
* sysdeps/generic/math_private.h (__kernel_standard): Remove
declaration.
(__kernel_standard_f): Likewise.
(__kernel_standard_l): Likewise.
* sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(_LIB_VERSION): Undefine as macro.
(_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define
only if [LIBM_SVID_COMPAT || !defined SHARED]. If
[LIBM_SVID_COMPAT], use compat_symbol.
* sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(matherr): Undefine as macro.
(__matherr): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
[_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
compat_symbol_reference.
[_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
[_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
[_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
* sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
(MATHERR_D): Remove declaration.
[!_LIBC] (_LIB_VERSION_TYPE): Likewise
[!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
[LIBM_BUILD] (pmatherrf): Likewise.
[LIBM_BUILD] (pmatherr): Likewise.
[LIBM_BUILD] (pmatherrl): Likewise.
(DOMAIN): Likewise.
(SING): Likewise.
(OVERFLOW): Likewise.
(UNDERFLOW): Likewise.
(TLOSS): Likewise.
(PLOSS): Likewise.
* sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
(__matherrf): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
(__matherrl): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* math/lgamma-compat.h: Include <math-svid-compat.h>.
* math/w_acos_compat.c: Likewise.
* math/w_acosf_compat.c: Likewise.
* math/w_acosh_compat.c: Likewise.
* math/w_acoshf_compat.c: Likewise.
* math/w_acoshl_compat.c: Likewise.
* math/w_acosl_compat.c: Likewise.
* math/w_asin_compat.c: Likewise.
* math/w_asinf_compat.c: Likewise.
* math/w_asinl_compat.c: Likewise.
* math/w_atan2_compat.c: Likewise.
* math/w_atan2f_compat.c: Likewise.
* math/w_atan2l_compat.c: Likewise.
* math/w_atanh_compat.c: Likewise.
* math/w_atanhf_compat.c: Likewise.
* math/w_atanhl_compat.c: Likewise.
* math/w_cosh_compat.c: Likewise.
* math/w_coshf_compat.c: Likewise.
* math/w_coshl_compat.c: Likewise.
* math/w_exp10_compat.c: Likewise.
* math/w_exp10f_compat.c: Likewise.
* math/w_exp10l_compat.c: Likewise.
* math/w_exp2_compat.c: Likewise.
* math/w_exp2f_compat.c: Likewise.
* math/w_exp2l_compat.c: Likewise.
* math/w_fmod_compat.c: Likewise.
* math/w_fmodf_compat.c: Likewise.
* math/w_fmodl_compat.c: Likewise.
* math/w_hypot_compat.c: Likewise.
* math/w_hypotf_compat.c: Likewise.
* math/w_hypotl_compat.c: Likewise.
* math/w_j0_compat.c: Likewise.
* math/w_j0f_compat.c: Likewise.
* math/w_j0l_compat.c: Likewise.
* math/w_j1_compat.c: Likewise.
* math/w_j1f_compat.c: Likewise.
* math/w_j1l_compat.c: Likewise.
* math/w_jn_compat.c: Likewise.
* math/w_jnf_compat.c: Likewise.
* math/w_jnl_compat.c: Likewise.
* math/w_lgamma_main.c: Likewise.
* math/w_lgamma_r_compat.c: Likewise.
* math/w_lgammaf_main.c: Likewise.
* math/w_lgammaf_r_compat.c: Likewise.
* math/w_lgammal_main.c: Likewise.
* math/w_lgammal_r_compat.c: Likewise.
* math/w_log10_compat.c: Likewise.
* math/w_log10f_compat.c: Likewise.
* math/w_log10l_compat.c: Likewise.
* math/w_log2_compat.c: Likewise.
* math/w_log2f_compat.c: Likewise.
* math/w_log2l_compat.c: Likewise.
* math/w_log_compat.c: Likewise.
* math/w_logf_compat.c: Likewise.
* math/w_logl_compat.c: Likewise.
* math/w_pow_compat.c: Likewise.
* math/w_powf_compat.c: Likewise.
* math/w_powl_compat.c: Likewise.
* math/w_remainder_compat.c: Likewise.
* math/w_remainderf_compat.c: Likewise.
* math/w_remainderl_compat.c: Likewise.
* math/w_scalb_compat.c: Likewise.
* math/w_scalbf_compat.c: Likewise.
* math/w_scalbl_compat.c: Likewise.
* math/w_sinh_compat.c: Likewise.
* math/w_sinhf_compat.c: Likewise.
* math/w_sinhl_compat.c: Likewise.
* math/w_sqrt_compat.c: Likewise.
* math/w_sqrtf_compat.c: Likewise.
* math/w_sqrtl_compat.c: Likewise.
* math/w_tgamma_compat.c: Likewise.
* math/w_tgammaf_compat.c: Likewise.
* math/w_tgammal_compat.c: Likewise.
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
* sysdeps/ieee754/k_standard.c: Likewise.
* sysdeps/ieee754/k_standardf.c: Likewise.
* sysdeps/ieee754/k_standardl.c: Likewise.
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
2017-08-21 19:45:10 +02:00
|
|
|
2017-08-21 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-21 19:52:05 +02:00
|
|
|
Revert:
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
|
|
|
building libc.a.
|
|
|
|
(hidden_proto): Likewise.
|
|
|
|
(hidden_tls_proto): Likewise.
|
|
|
|
(__hidden_proto): Likewise.
|
|
|
|
|
Remove SPARC sqrt wrappers (bug 21973).
This patch removes the SPARC-specific wrappers for sqrt and sqrtf.
These wrappers, by adding architecture-specific uses of _LIB_VERSION
and __kernel_standard, unnecessarily complicate cleanups of libm error
handling. They also do not serve a useful optimization purpose. GCC
knows about sqrt as a built-in function, and can generate direct calls
to a hardware square root instruction, either on its own, in the
-fno-math-errno case, or together with an inline check for the
argument being negative and a call to the out-of-line sqrt function
for error handling only in that case (and has been able to do so for a
long time). Thus in practice the wrapper will only be called only in
the case of negative arguments, which is not a case it is useful to
optimize for.
The removal of the wrappers also uncovers, and fixes, an old bug.
32-bit SPARC libm used (checked with glibc 2.8 binaries) to have a
sqrtl compat symbol, version GLIBC_2.0, for old binaries when sqrtl
was an alias of sqrt (I don't have pre-glibc-2.4 binaries for SPARC to
hand to check for the sqrtl symbol in those). This disappeared,
probably with:
commit 8847f0377003fbfe9cbe951ce9f8717d74f26247
Author: David S. Miller <davem@davemloft.net>
Date: Tue Feb 28 22:37:58 2012 -0800
Add sparc optimized sqrt{,f}.
Removing the wrappers brings back the generic ldbl-opt logic for
creating such compat symbols, and so restores the compat symbol that
should be there. This could of course also be fixed in the wrappers -
but as noted above, the wrappers are optimizing a case it's not useful
to optimize, so the bug of the missing compat symbol serves to
illustrate the risks involved with the extra complexity of
architecture-specific function versions where not needed.
Tested with build-many-glibcs.py.
[BZ #21973]
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
GLIBC_2.0 sqrtl symbol.
2017-08-21 19:46:34 +02:00
|
|
|
[BZ #21973]
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S : Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add
|
|
|
|
GLIBC_2.0 sqrtl symbol.
|
|
|
|
|
Obsolete matherr, _LIB_VERSION, libieee.a.
This patch obsoletes support for SVID libm error handling (the system
where a user-defined function matherr is called on a libm function
error; only enabled if you also set _LIB_VERSION = _SVID_ or
_LIB_VERSION = _XOPEN_) and the use of the _LIB_VERSION global
variable to control libm error handling. matherr and _LIB_VERSION are
made into compat symbols, not supported for new ports or for static
linking. The libieee.a object file (which sets _LIB_VERSION = _IEEE_,
so disabling errno setting for some functions) is also removed, and
all the related definitions are removed from math.h.
The manual already recommends against using matherr, and it's already
not supported for _Float128 functions (those use new wrappers that
don't support matherr, only errno) - this patch means that it becomes
possible to e.g. add sinf32 as an alias to sinf without that resulting
in undesired matherr support in sinf32 for existing glibc ports.
matherr support is not part of any standard supported by glibc (it was
removed in XPG4).
Because matherr is a function to be defined by the user, of course
user programs defining such a function will still continue to link; it
just quietly won't be used. If they try to write to the library's
copy of _LIB_VERSION to enable SVID error handling, however, they will
get a link error (but if they define their own _LIB_VERSION variable,
they won't).
I expect the most likely case of build failures from this patch to be
programs with unconditional cargo-culted uses of -lieee (based on a
notion of "I want IEEE floating point", not any actual requirement for
that library).
Ideally, the new-port-or-static-linking case would use the new
wrappers used for _Float128. This is not implemented in this patch,
because of the complication of architecture-specific (powerpc32 and
sparc) sqrt wrappers that use _LIB_VERSION and __kernel_standard
directly. Thus, the old wrappers and __kernel_standard are still
built unconditionally, and _LIB_VERSION still exists in static libm.
But when the old wrappers and __kernel_standard are built in the
non-compat case, _LIB_VERSION and matherr are defined as macros so
code to support those features isn't actually built into static libm
or new ports' shared libm after this patch.
I intend to move to the new wrappers for static libm and new ports in
followup patches. I believe the sqrt wrappers for powerpc32 and sparc
can reasonably be removed. GCC already optimizes the normal case of
sqrt by generating code that uses a hardware instruction and only
calls the sqrt function if the argument was negative (if
-fno-math-errno, of course, it just uses the hardware instruction
without any check for negative argument being needed). Thus those
wrappers will only actually get called in the case of negative
arguments, which is not a case it makes sense to optimize for. But
even without removing the powerpc32 and sparc wrappers it should still
be possible to move to the new wrappers for static libm and new ports,
just without having those dubious architecture-specific optimizations
in static libm.
Everything said about matherr equally applies to matherrf and matherrl
(IA64-specific, undocumented), except that the structure of IA64 libm
means it won't be converted to using the new wrappers (it doesn't use
the old ones either, but its own error-handling code instead).
As with other tests of compat symbols, I expect test-matherr and
test-matherr-2 to need to become appropriately conditional once we
have a system for disabling such tests for ports too new to have the
relevant symbols.
Tested for x86_64 and x86, and with build-many-glibcs.py.
* math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
[__USE_MISC] (_LIB_VERSION): Likewise.
[__USE_MISC] (struct exception): Likewise.
[__USE_MISC] (matherr): Likewise.
[__USE_MISC] (DOMAIN): Likewise.
[__USE_MISC] (SING): Likewise.
[__USE_MISC] (OVERFLOW): Likewise.
[__USE_MISC] (UNDERFLOW): Likewise.
[__USE_MISC] (TLOSS): Likewise.
[__USE_MISC] (PLOSS): Likewise.
[__USE_MISC] (HUGE): Likewise.
[__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
* math/math-svid-compat.h: New file.
* conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
and matherrl.
* include/math.h [!_ISOMAC] (__matherr): Remove.
* manual/arith.texi (FP Exceptions): Do not document matherr.
* math/Makefile (tests): Change test-matherr to test-matherr-3.
(tests-internal): New variable.
(install-lib): Do not add libieee.a.
(non-lib.a): Likewise.
(extra-objs): Do not add libieee.a and ieee-math.o.
(CPPFLAGS-s_lib_version.c): Remove variable.
($(objpfx)libieee.a): Remove rule.
($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
* math/ieee-math.c: Remove.
* math/libm-test-support.c (matherr): Remove.
* math/test-matherr.c: Use <support/test-driver.c>. Add copyright
and license notices. Include <math-svid-compat.h> and
<shlib-compat.h>.
(matherr): Undefine as macro. Use compat_symbol_reference.
(_LIB_VERSION): Likewise.
* math/test-matherr-2.c: New file.
* math/test-matherr-3.c: Likewise.
* sysdeps/generic/math_private.h (__kernel_standard): Remove
declaration.
(__kernel_standard_f): Likewise.
(__kernel_standard_l): Likewise.
* sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(_LIB_VERSION): Undefine as macro.
(_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define
only if [LIBM_SVID_COMPAT || !defined SHARED]. If
[LIBM_SVID_COMPAT], use compat_symbol.
* sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
<math_private.h>. Include <math-svid-compat.h>.
(matherr): Undefine as macro.
(__matherr): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
[_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
compat_symbol_reference.
[_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
[_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
[_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
* sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
(MATHERR_D): Remove declaration.
[!_LIBC] (_LIB_VERSION_TYPE): Likewise
[!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
[LIBM_BUILD] (pmatherrf): Likewise.
[LIBM_BUILD] (pmatherr): Likewise.
[LIBM_BUILD] (pmatherrl): Likewise.
(DOMAIN): Likewise.
(SING): Likewise.
(OVERFLOW): Likewise.
(UNDERFLOW): Likewise.
(TLOSS): Likewise.
(PLOSS): Likewise.
* sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
(__matherrf): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
(__matherrl): Define only if [LIBM_SVID_COMPAT]. Use
compat_symbol.
* math/lgamma-compat.h: Include <math-svid-compat.h>.
* math/w_acos_compat.c: Likewise.
* math/w_acosf_compat.c: Likewise.
* math/w_acosh_compat.c: Likewise.
* math/w_acoshf_compat.c: Likewise.
* math/w_acoshl_compat.c: Likewise.
* math/w_acosl_compat.c: Likewise.
* math/w_asin_compat.c: Likewise.
* math/w_asinf_compat.c: Likewise.
* math/w_asinl_compat.c: Likewise.
* math/w_atan2_compat.c: Likewise.
* math/w_atan2f_compat.c: Likewise.
* math/w_atan2l_compat.c: Likewise.
* math/w_atanh_compat.c: Likewise.
* math/w_atanhf_compat.c: Likewise.
* math/w_atanhl_compat.c: Likewise.
* math/w_cosh_compat.c: Likewise.
* math/w_coshf_compat.c: Likewise.
* math/w_coshl_compat.c: Likewise.
* math/w_exp10_compat.c: Likewise.
* math/w_exp10f_compat.c: Likewise.
* math/w_exp10l_compat.c: Likewise.
* math/w_exp2_compat.c: Likewise.
* math/w_exp2f_compat.c: Likewise.
* math/w_exp2l_compat.c: Likewise.
* math/w_fmod_compat.c: Likewise.
* math/w_fmodf_compat.c: Likewise.
* math/w_fmodl_compat.c: Likewise.
* math/w_hypot_compat.c: Likewise.
* math/w_hypotf_compat.c: Likewise.
* math/w_hypotl_compat.c: Likewise.
* math/w_j0_compat.c: Likewise.
* math/w_j0f_compat.c: Likewise.
* math/w_j0l_compat.c: Likewise.
* math/w_j1_compat.c: Likewise.
* math/w_j1f_compat.c: Likewise.
* math/w_j1l_compat.c: Likewise.
* math/w_jn_compat.c: Likewise.
* math/w_jnf_compat.c: Likewise.
* math/w_jnl_compat.c: Likewise.
* math/w_lgamma_main.c: Likewise.
* math/w_lgamma_r_compat.c: Likewise.
* math/w_lgammaf_main.c: Likewise.
* math/w_lgammaf_r_compat.c: Likewise.
* math/w_lgammal_main.c: Likewise.
* math/w_lgammal_r_compat.c: Likewise.
* math/w_log10_compat.c: Likewise.
* math/w_log10f_compat.c: Likewise.
* math/w_log10l_compat.c: Likewise.
* math/w_log2_compat.c: Likewise.
* math/w_log2f_compat.c: Likewise.
* math/w_log2l_compat.c: Likewise.
* math/w_log_compat.c: Likewise.
* math/w_logf_compat.c: Likewise.
* math/w_logl_compat.c: Likewise.
* math/w_pow_compat.c: Likewise.
* math/w_powf_compat.c: Likewise.
* math/w_powl_compat.c: Likewise.
* math/w_remainder_compat.c: Likewise.
* math/w_remainderf_compat.c: Likewise.
* math/w_remainderl_compat.c: Likewise.
* math/w_scalb_compat.c: Likewise.
* math/w_scalbf_compat.c: Likewise.
* math/w_scalbl_compat.c: Likewise.
* math/w_sinh_compat.c: Likewise.
* math/w_sinhf_compat.c: Likewise.
* math/w_sinhl_compat.c: Likewise.
* math/w_sqrt_compat.c: Likewise.
* math/w_sqrtf_compat.c: Likewise.
* math/w_sqrtl_compat.c: Likewise.
* math/w_tgamma_compat.c: Likewise.
* math/w_tgammaf_compat.c: Likewise.
* math/w_tgammal_compat.c: Likewise.
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
* sysdeps/ieee754/k_standard.c: Likewise.
* sysdeps/ieee754/k_standardf.c: Likewise.
* sysdeps/ieee754/k_standardl.c: Likewise.
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
2017-08-21 19:45:10 +02:00
|
|
|
* math/math.h [__USE_MISC] (_LIB_VERSION_TYPE): Remove.
|
|
|
|
[__USE_MISC] (_LIB_VERSION): Likewise.
|
|
|
|
[__USE_MISC] (struct exception): Likewise.
|
|
|
|
[__USE_MISC] (matherr): Likewise.
|
|
|
|
[__USE_MISC] (DOMAIN): Likewise.
|
|
|
|
[__USE_MISC] (SING): Likewise.
|
|
|
|
[__USE_MISC] (OVERFLOW): Likewise.
|
|
|
|
[__USE_MISC] (UNDERFLOW): Likewise.
|
|
|
|
[__USE_MISC] (TLOSS): Likewise.
|
|
|
|
[__USE_MISC] (PLOSS): Likewise.
|
|
|
|
[__USE_MISC] (HUGE): Likewise.
|
|
|
|
[__USE_XOPEN] (MAXFLOAT): Define even if [__USE_MISC].
|
|
|
|
* math/math-svid-compat.h: New file.
|
|
|
|
* conform/linknamespace.pl (@whitelist): Remove matherr, matherrf
|
|
|
|
and matherrl.
|
|
|
|
* include/math.h [!_ISOMAC] (__matherr): Remove.
|
|
|
|
* manual/arith.texi (FP Exceptions): Do not document matherr.
|
|
|
|
* math/Makefile (tests): Change test-matherr to test-matherr-3.
|
|
|
|
(tests-internal): New variable.
|
|
|
|
(install-lib): Do not add libieee.a.
|
|
|
|
(non-lib.a): Likewise.
|
|
|
|
(extra-objs): Do not add libieee.a and ieee-math.o.
|
|
|
|
(CPPFLAGS-s_lib_version.c): Remove variable.
|
|
|
|
($(objpfx)libieee.a): Remove rule.
|
|
|
|
($(addprefix $(objpfx), $(tests-internal)): Depend on $(libm).
|
|
|
|
* math/ieee-math.c: Remove.
|
|
|
|
* math/libm-test-support.c (matherr): Remove.
|
|
|
|
* math/test-matherr.c: Use <support/test-driver.c>. Add copyright
|
|
|
|
and license notices. Include <math-svid-compat.h> and
|
|
|
|
<shlib-compat.h>.
|
|
|
|
(matherr): Undefine as macro. Use compat_symbol_reference.
|
|
|
|
(_LIB_VERSION): Likewise.
|
|
|
|
* math/test-matherr-2.c: New file.
|
|
|
|
* math/test-matherr-3.c: Likewise.
|
|
|
|
* sysdeps/generic/math_private.h (__kernel_standard): Remove
|
|
|
|
declaration.
|
|
|
|
(__kernel_standard_f): Likewise.
|
|
|
|
(__kernel_standard_l): Likewise.
|
|
|
|
* sysdeps/ieee754/s_lib_version.c: Do not include <math.h> or
|
|
|
|
<math_private.h>. Include <math-svid-compat.h>.
|
|
|
|
(_LIB_VERSION): Undefine as macro.
|
|
|
|
(_LIB_VERSION_INTERNAL): Always initialize to _POSIX_. Define
|
|
|
|
only if [LIBM_SVID_COMPAT || !defined SHARED]. If
|
|
|
|
[LIBM_SVID_COMPAT], use compat_symbol.
|
|
|
|
* sysdeps/ieee754/s_matherr.c: Do not include <math.h> or
|
|
|
|
<math_private.h>. Include <math-svid-compat.h>.
|
|
|
|
(matherr): Undefine as macro.
|
|
|
|
(__matherr): Define only if [LIBM_SVID_COMPAT]. Use
|
|
|
|
compat_symbol.
|
|
|
|
* sysdeps/ia64/fpu/libm_error.c: Include <math-svid-compat.h>.
|
|
|
|
[_LIBC && LIBM_SVID_COMPAT] (matherrf): Use
|
|
|
|
compat_symbol_reference.
|
|
|
|
[_LIBC && LIBM_SVID_COMPAT] (matherrl): Likewise.
|
|
|
|
[_LIBC && !LIBM_SVID_COMPAT] (matherrf): Define as macro.
|
|
|
|
[_LIBC && !LIBM_SVID_COMPAT] (matherrl): Likewise.
|
|
|
|
* sysdeps/ia64/fpu/libm_support.h: Include <math-svid-compat.h>.
|
|
|
|
(MATHERR_D): Remove declaration.
|
|
|
|
[!_LIBC] (_LIB_VERSION_TYPE): Likewise
|
|
|
|
[!LIBM_BUILD] (_LIB_VERSIONIMF): Likewise.
|
|
|
|
[LIBM_BUILD] (pmatherrf): Likewise.
|
|
|
|
[LIBM_BUILD] (pmatherr): Likewise.
|
|
|
|
[LIBM_BUILD] (pmatherrl): Likewise.
|
|
|
|
(DOMAIN): Likewise.
|
|
|
|
(SING): Likewise.
|
|
|
|
(OVERFLOW): Likewise.
|
|
|
|
(UNDERFLOW): Likewise.
|
|
|
|
(TLOSS): Likewise.
|
|
|
|
(PLOSS): Likewise.
|
|
|
|
* sysdeps/ia64/fpu/s_matherrf.c: Include <math-svid-compat.h>.
|
|
|
|
(__matherrf): Define only if [LIBM_SVID_COMPAT]. Use
|
|
|
|
compat_symbol.
|
|
|
|
* sysdeps/ia64/fpu/s_matherrl.c: Include <math-svid-compat.h>.
|
|
|
|
(__matherrl): Define only if [LIBM_SVID_COMPAT]. Use
|
|
|
|
compat_symbol.
|
|
|
|
* math/lgamma-compat.h: Include <math-svid-compat.h>.
|
|
|
|
* math/w_acos_compat.c: Likewise.
|
|
|
|
* math/w_acosf_compat.c: Likewise.
|
|
|
|
* math/w_acosh_compat.c: Likewise.
|
|
|
|
* math/w_acoshf_compat.c: Likewise.
|
|
|
|
* math/w_acoshl_compat.c: Likewise.
|
|
|
|
* math/w_acosl_compat.c: Likewise.
|
|
|
|
* math/w_asin_compat.c: Likewise.
|
|
|
|
* math/w_asinf_compat.c: Likewise.
|
|
|
|
* math/w_asinl_compat.c: Likewise.
|
|
|
|
* math/w_atan2_compat.c: Likewise.
|
|
|
|
* math/w_atan2f_compat.c: Likewise.
|
|
|
|
* math/w_atan2l_compat.c: Likewise.
|
|
|
|
* math/w_atanh_compat.c: Likewise.
|
|
|
|
* math/w_atanhf_compat.c: Likewise.
|
|
|
|
* math/w_atanhl_compat.c: Likewise.
|
|
|
|
* math/w_cosh_compat.c: Likewise.
|
|
|
|
* math/w_coshf_compat.c: Likewise.
|
|
|
|
* math/w_coshl_compat.c: Likewise.
|
|
|
|
* math/w_exp10_compat.c: Likewise.
|
|
|
|
* math/w_exp10f_compat.c: Likewise.
|
|
|
|
* math/w_exp10l_compat.c: Likewise.
|
|
|
|
* math/w_exp2_compat.c: Likewise.
|
|
|
|
* math/w_exp2f_compat.c: Likewise.
|
|
|
|
* math/w_exp2l_compat.c: Likewise.
|
|
|
|
* math/w_fmod_compat.c: Likewise.
|
|
|
|
* math/w_fmodf_compat.c: Likewise.
|
|
|
|
* math/w_fmodl_compat.c: Likewise.
|
|
|
|
* math/w_hypot_compat.c: Likewise.
|
|
|
|
* math/w_hypotf_compat.c: Likewise.
|
|
|
|
* math/w_hypotl_compat.c: Likewise.
|
|
|
|
* math/w_j0_compat.c: Likewise.
|
|
|
|
* math/w_j0f_compat.c: Likewise.
|
|
|
|
* math/w_j0l_compat.c: Likewise.
|
|
|
|
* math/w_j1_compat.c: Likewise.
|
|
|
|
* math/w_j1f_compat.c: Likewise.
|
|
|
|
* math/w_j1l_compat.c: Likewise.
|
|
|
|
* math/w_jn_compat.c: Likewise.
|
|
|
|
* math/w_jnf_compat.c: Likewise.
|
|
|
|
* math/w_jnl_compat.c: Likewise.
|
|
|
|
* math/w_lgamma_main.c: Likewise.
|
|
|
|
* math/w_lgamma_r_compat.c: Likewise.
|
|
|
|
* math/w_lgammaf_main.c: Likewise.
|
|
|
|
* math/w_lgammaf_r_compat.c: Likewise.
|
|
|
|
* math/w_lgammal_main.c: Likewise.
|
|
|
|
* math/w_lgammal_r_compat.c: Likewise.
|
|
|
|
* math/w_log10_compat.c: Likewise.
|
|
|
|
* math/w_log10f_compat.c: Likewise.
|
|
|
|
* math/w_log10l_compat.c: Likewise.
|
|
|
|
* math/w_log2_compat.c: Likewise.
|
|
|
|
* math/w_log2f_compat.c: Likewise.
|
|
|
|
* math/w_log2l_compat.c: Likewise.
|
|
|
|
* math/w_log_compat.c: Likewise.
|
|
|
|
* math/w_logf_compat.c: Likewise.
|
|
|
|
* math/w_logl_compat.c: Likewise.
|
|
|
|
* math/w_pow_compat.c: Likewise.
|
|
|
|
* math/w_powf_compat.c: Likewise.
|
|
|
|
* math/w_powl_compat.c: Likewise.
|
|
|
|
* math/w_remainder_compat.c: Likewise.
|
|
|
|
* math/w_remainderf_compat.c: Likewise.
|
|
|
|
* math/w_remainderl_compat.c: Likewise.
|
|
|
|
* math/w_scalb_compat.c: Likewise.
|
|
|
|
* math/w_scalbf_compat.c: Likewise.
|
|
|
|
* math/w_scalbl_compat.c: Likewise.
|
|
|
|
* math/w_sinh_compat.c: Likewise.
|
|
|
|
* math/w_sinhf_compat.c: Likewise.
|
|
|
|
* math/w_sinhl_compat.c: Likewise.
|
|
|
|
* math/w_sqrt_compat.c: Likewise.
|
|
|
|
* math/w_sqrtf_compat.c: Likewise.
|
|
|
|
* math/w_sqrtl_compat.c: Likewise.
|
|
|
|
* math/w_tgamma_compat.c: Likewise.
|
|
|
|
* math/w_tgammaf_compat.c: Likewise.
|
|
|
|
* math/w_tgammal_compat.c: Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/w_exp_compat.c: Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/w_expf_compat.c: Likewise.
|
|
|
|
* sysdeps/ieee754/k_standard.c: Likewise.
|
|
|
|
* sysdeps/ieee754/k_standardf.c: Likewise.
|
|
|
|
* sysdeps/ieee754/k_standardl.c: Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/w_expl_compat.c: Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c: Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/w_expl_compat.c: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt_compat-vis3.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf_compat-vis3.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrt_compat.S: Likewise.
|
|
|
|
* sysdeps/sparc/sparc64/fpu/w_sqrtf_compat.S: Likewise.
|
|
|
|
|
2017-08-21 19:28:54 +02:00
|
|
|
2017-08-21 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21864]
|
|
|
|
Do not compile benchmark helper objects with -DMODULE_NAME=libc.
|
|
|
|
* benchtests/Makefile (others-extras): Set to $(bench-extra-objs).
|
|
|
|
Move before inclusion of ../Rules.
|
|
|
|
|
2017-08-21 13:03:29 +02:00
|
|
|
2017-08-21 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21972]
|
|
|
|
* assert/assert.h (assert): Use static_cast (bool) for C++.
|
|
|
|
Use the ternary operator in the warning branch for GNU C.
|
|
|
|
* assert/Makefile (tests): Add tst-assert-c++, tst-assert-g++.
|
|
|
|
(CFLAGS-tst-assert-c++.o): Compile in C++11 mode.
|
|
|
|
(CFLAGS-tst-assert-g++.o): Compile in GnU C++11 mode.
|
|
|
|
(LDLIBS-tst-assert-c++, LDLIBS-tst-assert-g++): Link with libstdc++.
|
|
|
|
* assert/tst-assert-c++.cc, assert/tst-assert-g++.cc: New files.
|
|
|
|
|
2017-08-21 14:58:39 +02:00
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/init-first.c
|
|
|
|
(__syscall_clock_gettime): Add attribute_hidden.
|
|
|
|
* sysdeps/unix/sysv/linux/x86_64/makecontext.c
|
|
|
|
(__start_context): Likewise.
|
|
|
|
|
2017-08-21 14:50:38 +02:00
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
|
|
|
building libc.a.
|
|
|
|
(hidden_proto): Likewise.
|
|
|
|
(hidden_tls_proto): Likewise.
|
|
|
|
(__hidden_proto): Likewise.
|
|
|
|
|
2017-08-21 14:47:10 +02:00
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* include/libc-symbols.h (attribute_hidden): Enable hidden
|
|
|
|
visibility in libc.a compiled with PIE.
|
|
|
|
|
2017-08-21 14:40:33 +02:00
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)):
|
|
|
|
Add attribute_hidden.
|
|
|
|
|
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21864]
|
|
|
|
* Makerules (all-nonlib): Add $(others-extras).
|
|
|
|
* catgets/Makefile (others-extras): New.
|
|
|
|
* elf/Makefile (others-extras): Likewise.
|
|
|
|
* nss/Makefile (others-extras): Likewise.
|
|
|
|
|
2017-08-21 14:32:21 +02:00
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* csu/libc-start.c (__libc_multiple_libcs): Removed.
|
|
|
|
* elf/dl-open.c: Include <libc-internal.h>.
|
|
|
|
(__libc_multiple_libcs): Removed.
|
|
|
|
* elf/dl-sysdep.c: Include <libc-internal.h> instead of
|
|
|
|
<hp-timing.h>.
|
|
|
|
* include/libc-internal.h (__libc_multiple_libcs): New.
|
|
|
|
* misc/sbrk.c: Include <libc-internal.h>.
|
|
|
|
(__libc_multiple_libcs): Removed.
|
|
|
|
|
2017-08-21 14:31:02 +02:00
|
|
|
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* grp/initgroups.c (__nss_group_database): Removed.
|
|
|
|
(__nss_initgroups_database): Likewise.
|
|
|
|
* nscd/gai.c (__nss_hosts_database): Likewise.
|
|
|
|
* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
|
|
|
|
* posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
|
|
|
|
* posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
|
|
|
|
* posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
|
|
|
|
* sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise.
|
|
|
|
* nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add
|
|
|
|
attribute_hidden.
|
|
|
|
* nss/nsswitch.c (__nss_database_custom): Define only if
|
|
|
|
USE_NSCD is defined.
|
|
|
|
(__nss_configure_lookup): Use __nss_database_custom only if
|
|
|
|
USE_NSCD is defined.
|
|
|
|
* nss/nsswitch.h (__nss_database_custom): Declare only if
|
|
|
|
USE_NSCD is defined. Add attribute_hidden.
|
|
|
|
(__nss_setent): Add attribute_hidden.
|
|
|
|
(__nss_endent): Likewise.
|
|
|
|
(__nss_getent_r): Likewise.
|
|
|
|
(__nss_getent): Likewise.
|
|
|
|
(DEFINE_DATABASE): Declare __nss_##arg##_database.
|
|
|
|
|
2017-08-20 19:46:47 +02:00
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add
|
|
|
|
libc_hidden_proto and libc_hidden_def.
|
|
|
|
|
2017-08-20 19:45:58 +02:00
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* sysdeps/unix/sysv/linux/i386/olddirent.h (__old_readdir64):
|
|
|
|
Add libc_hidden_proto.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/readdir64.c (__old_readdir64):
|
|
|
|
Add libc_hidden_def.
|
|
|
|
|
2017-08-20 15:39:10 +02:00
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21974]
|
|
|
|
* gmon/Makefile (routines): Remove bb_init_func and
|
|
|
|
bb_exit_func.
|
|
|
|
(elide-routines.os): Removed.
|
2017-08-20 15:45:25 +02:00
|
|
|
* gmon/bb_exit_func.c: Likewise.
|
|
|
|
* gmon/bb_init_func.c: Likewise.
|
2017-08-20 15:39:10 +02:00
|
|
|
* include/sys/gmon.h (__bb): Likewise.
|
|
|
|
(__bb_init_func): Likewise.
|
|
|
|
(__bb_exit_func): Likewise.
|
2017-08-20 15:50:59 +02:00
|
|
|
* sysdeps/alpha/bb_init_func.S: Likewise.
|
2017-08-20 15:39:10 +02:00
|
|
|
|
2017-08-20 15:30:29 +02:00
|
|
|
2017-08-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* debug/longjmp_chk.c (____longjmp_chk): Moved to ...
|
|
|
|
* include/setjmp.h (____longjmp_chk): Here. Add
|
|
|
|
attribute_hidden.
|
|
|
|
|
2017-08-20 01:46:33 +02:00
|
|
|
2017-08-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE2): Add
|
|
|
|
attribute_hidden.
|
|
|
|
(__strspn_sse2): Likewise.
|
|
|
|
|
2017-07-03 20:00:26 +02:00
|
|
|
2017-08-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-07-03 20:22:58 +02:00
|
|
|
* sysdeps/generic/not-cancel.h (close_not_cancel): Remove macro.
|
|
|
|
(close_not_cancel_no_status): Likewise.
|
|
|
|
(__close_nocancel): New macro.
|
|
|
|
(__close_nocancel_nostatus): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__close_nocancel): Remove
|
|
|
|
macro.
|
|
|
|
(close_not_cancel): Likewise.
|
|
|
|
(close_not_cancel_no_status): Likewise.
|
|
|
|
(__close_nocancel): New prototype.
|
|
|
|
(__close_nocancel_nostatus): New function.
|
|
|
|
* sysdeps/unix/sysv/linux/close.c (__close_nocancel): New function.
|
|
|
|
* catgets/open_catalog.c (__open_catalog): Replace
|
|
|
|
close_not_cancel{_no_status) with __close_nocancel{_nostatus}.
|
|
|
|
* gmon/gmon.c (write_gmon): Likewise.
|
|
|
|
* iconv/gconv_cache.c (__gconv_load_cache): Likewise.
|
|
|
|
* intl/loadmsgcat.c (close): Likewise.
|
|
|
|
* io/ftw.c (open_dir_stream): Likewise.
|
|
|
|
(ftw_startup): Likewise.
|
|
|
|
* libio/fileops.c (_IO_file_open): Likewise.
|
|
|
|
(_IO_file_close_mmap): Likewise.
|
|
|
|
(_IO_file_close): Likewise.
|
|
|
|
* libio/iopopen.c (_IO_dup2): Likewise.
|
|
|
|
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
|
|
|
|
* locale/loadlocale.c (_nl_load_locale): Likewise.
|
|
|
|
* login/utmp_file.c (pututline_file): Likewise.
|
|
|
|
(endutent_file): Likewise.
|
|
|
|
* misc/daemon.c (daemon): Likewise.
|
|
|
|
* nscd/nscd_getai.c (__nscd_getai): Likewise.
|
|
|
|
* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
|
|
|
|
* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
|
|
|
|
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
|
|
|
|
* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
|
|
|
|
* nscd/nscd_helper.c (open_socket): Likewise.
|
|
|
|
(__nscd_open_socket): Likewise.
|
|
|
|
* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
|
|
|
|
* nscd/nscd_netgroup.c (__nscd_setnetgrent): Likewise.
|
|
|
|
(__nscd_innetgr): Likewise.
|
|
|
|
* nss/nss_db/db-open.c (internal_setent): Likewise.
|
|
|
|
* resolv/res-close.c (__res_iclose): Likewise.
|
|
|
|
* sunrpc/pm_getmaps.c (pmap_getmaps): Likewise.
|
|
|
|
* sysdeps/posix/closedir.c (__closedir): Likewise.
|
|
|
|
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Likewise.
|
|
|
|
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
|
|
|
|
* sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
|
|
|
|
(opendir_tail): Likewise.
|
|
|
|
* sysdeps/posix/spawni.c (__spawni_child): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/check_native.c (__check_native): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/fips-private.h (fips_enabled_p): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
|
|
|
|
(gethostid): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/grantpt.c (close_all_fds): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
|
|
|
__close_nocancel.
|
|
|
|
|
2017-07-03 20:00:26 +02:00
|
|
|
* sysdeps/generic/not-cancel.h (openat_not_cancel): Remove macro.
|
|
|
|
(openat_not_cancel_3): Likewise.
|
|
|
|
(openat64_not_cancel_3): Likewise).
|
|
|
|
(openat_not_cancel_3): Likewise).
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (openat_not_cancel): Remove
|
|
|
|
macro.
|
|
|
|
(openat_not_cancel_3): Likewise.
|
|
|
|
(openat64_not_cancel): Likewise.
|
|
|
|
(openat64_not_cancel_3): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/openat.c (__openat_nocancel): New function.
|
|
|
|
* sysdeps/unix/sysv/linux/openat64.c (__openat64_nocancel): Likewise.
|
|
|
|
* io/ftw.c (open_dir_stream): Replace openat{64}_not_cancel{_3} with
|
|
|
|
__open{64}_nocancel.
|
|
|
|
* sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
|
|
|
|
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
|
|
|
|
* sysdeps/posix/opendir.c (__opendirat): Likewise.
|
|
|
|
|
2017-08-18 18:31:19 +02:00
|
|
|
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #18822]
|
|
|
|
* include/argz.h (__argz_create_sep): New function prototype.
|
|
|
|
(__argz_append): Likewise.
|
|
|
|
(__argz_add): Likewise.
|
|
|
|
(__argz_add_sep): Likewise.
|
|
|
|
(__argz_delete): Likewise.
|
|
|
|
(__argz_insert): Likewise.
|
|
|
|
(__argz_replace): Likewise.
|
|
|
|
* string/argz.h (__argz_create_sep): Removed.
|
|
|
|
(__argz_append): Likewise.
|
|
|
|
(__argz_add): Likewise.
|
|
|
|
(__argz_add_sep): Likewise.
|
|
|
|
(__argz_delete): Likewise.
|
|
|
|
(__argz_insert): Likewise.
|
|
|
|
(__argz_replace): Likewise.
|
|
|
|
|
2017-08-18 17:49:07 +02:00
|
|
|
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* elf/elf.h (NT_GNU_PROPERTY_TYPE_0): New.
|
|
|
|
(NOTE_GNU_PROPERTY_SECTION_NAME): Likewise.
|
|
|
|
(GNU_PROPERTY_STACK_SIZE): Likewie.
|
|
|
|
(GNU_PROPERTY_NO_COPY_ON_PROTECTED): Likewie.
|
|
|
|
(GNU_PROPERTY_LOPROC): Likewise.
|
|
|
|
(GNU_PROPERTY_HIPROC): Likewise.
|
|
|
|
(GNU_PROPERTY_LOUSER): Likewise.
|
|
|
|
(GNU_PROPERTY_HIUSER): Likewise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_USED): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_NEEDED): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_FEATURE_1_AND): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_486): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_586): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_686): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE2): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE3): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSSE3): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE4_1): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_SSE4_2): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX2): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512F): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512CD): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512ER): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512PF): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512VL): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_ISA_1_AVX512BW): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_FEATURE_1_IBT): Likwise.
|
|
|
|
(GNU_PROPERTY_X86_FEATURE_1_SHSTK): Likwise.
|
|
|
|
|
2017-08-14 22:51:51 +02:00
|
|
|
2017-08-18 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* misc/sys/cdefs.h (__HAVE_GENERIC_SELECTION): Define to 0, if
|
|
|
|
in C++ mode.
|
|
|
|
|
2017-08-11 19:29:06 +02:00
|
|
|
2017-08-18 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
[BZ #21930]
|
|
|
|
* math/math.h (isinf): Check if in C or C++ mode before using
|
|
|
|
__builtin_types_compatible_p, since this is a C mode feature.
|
|
|
|
|
2017-07-03 19:20:46 +02:00
|
|
|
2017-08-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
2017-07-03 19:39:52 +02:00
|
|
|
* sysdeps/generic/not-cancel.h (write_not_cancel): Remove macro.
|
|
|
|
(__write_nocancel): New macro.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__write_nocancel):
|
|
|
|
Rewrite as a function prototype.
|
|
|
|
(write_not_cancel): Remove macro.
|
|
|
|
* sysdeps/unix/sysv/linux/write.c (__write_nocancel): New function.
|
|
|
|
* gmon/gmon.c (ERR): Replace write_not_cancel with __write_nocancel.
|
|
|
|
(write_gmon): Likewise.
|
|
|
|
* libio/fileops.c (_IO_new_file_write): Likewise.
|
|
|
|
* login/utmp_file.c (pututline_file): Likewise.
|
|
|
|
(updwtmp_file): Likewise.
|
|
|
|
* stdio-common/psiginfo.c (psiginfo): Likewise.
|
|
|
|
* sysdeps/posix/spawni.c (__spawni_child): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
|
|
|
|
Likewise.
|
|
|
|
|
2017-07-03 19:20:46 +02:00
|
|
|
* sysdeps/generic/not-cancel.h (read_not_cancel): Remove macro.
|
|
|
|
(__read_nocancel): New macro.
|
|
|
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
|
|
|
__read_nocancel.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (__read_nocancel): Remove
|
|
|
|
macro.
|
|
|
|
(__read_nocancel): New prototype.
|
|
|
|
* sysdeps/unix/sysv/linux/read.c (__read_nocancel): New function.
|
|
|
|
* catgets/open_catalog.c (__open_catalog): Replace read_not_cancel
|
|
|
|
with __read_nocancel.
|
|
|
|
* intl/loadmsgcat.c (read): Likewise.
|
|
|
|
* libio/fileops.c (_IO_file_read): Likewise.
|
|
|
|
* locale/loadlocale.c (_nl_load_locale): Likewise.
|
|
|
|
* login/utmp_file.c (getutent_r_file): Likewise.
|
|
|
|
(internal_getut_r): Likewise.
|
|
|
|
(getutline_r_file): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.
|
|
|
|
|
2017-08-18 15:18:55 +02:00
|
|
|
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21966]
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h
|
|
|
|
(IFUNC_SELECTOR): Don't use the AVX2 version if FMA isn't
|
|
|
|
usable.
|
|
|
|
|
2017-08-17 23:58:25 +02:00
|
|
|
2017-08-17 DJ Delorie <dj@redhat.com>
|
|
|
|
|
|
|
|
* bug17079.c: Update to new test harness.
|
|
|
|
* test-digits-dots.c: Likewise.
|
|
|
|
* test-netdb.c: Likewise.
|
|
|
|
* tst-field.c: Likewise.
|
|
|
|
* tst-nss-getpwent.c: Likewise.
|
|
|
|
* tst-nss-static.c: Likewise.
|
|
|
|
* tst-nss-test1.c: Likewise.
|
|
|
|
* tst-nss-test2.c: Likewise.
|
|
|
|
* tst-nss-test3.c: Likewise.
|
|
|
|
* tst-nss-test4.c: Likewise.
|
|
|
|
* tst-nss-test5.c: Likewise.
|
|
|
|
|
2017-07-03 16:11:24 +02:00
|
|
|
2017-08-17 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
* sysdeps/generic/not-cancel.h (open_not_cancel): Remove macro.
|
|
|
|
(open_not_cancel_2): Likewise.
|
|
|
|
(open_nocancel): New macro.
|
|
|
|
(open64_nocancel): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Remove macro.
|
|
|
|
(open_not_cancel_2): Likewise.
|
|
|
|
(__open_nocancel): New prototype.
|
|
|
|
(__open64_nocancel): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
|
|
|
|
__open_nocancel.
|
|
|
|
* sysdeps/unix/sysv/linux/open.c (__open_nocancel): New function.
|
|
|
|
* sysdeps/unix/sysv/linux/open64.c (__open64_nocancel): Likewise.
|
|
|
|
* catgets/open_catalog.c (__open_catalog): Replace open_not_cancel{_2}
|
|
|
|
with __open_nocancel.
|
|
|
|
* csu/check_fds.c (check_one_fd): Likewise.
|
|
|
|
* gmon/gmon.c (write_gmon): Likewise.
|
|
|
|
* iconv/gconv_cache.c (__gconv_load_cached): Likewise.
|
|
|
|
* intl/loadmsgcat.c (open): Likewise.
|
|
|
|
* libio/fileops.c (_IO_file_open): Likewise.
|
|
|
|
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
|
|
|
|
* locale/loadlocale.c (_nl_load_locale): Likewise.
|
|
|
|
* login/utmp_file.c (setutent_file): Likewise.
|
|
|
|
* misc/daemon.c (daemon): Likewise.
|
|
|
|
* nss/nss_db/db-open.c (internal_setent): Likewise.
|
|
|
|
* sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
|
|
|
|
* sysdeps/posix/libc_fatal.c (__libc_message): Likewise.
|
|
|
|
* sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
|
|
|
|
(__opendir): Likewise.
|
|
|
|
* sysdeps/posix/spawni.c (__spawni_child): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
|
|
|
|
(gethostid): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/grantpt.c (__close_all_fds): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c (__get_clockfreq):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise.
|
|
|
|
|
2017-08-17 17:27:20 +02:00
|
|
|
2017-08-17 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
* benchtests/bench-skeleton.c (main): Add support for
|
|
|
|
latency benchmarking.
|
|
|
|
* benchtests/scripts/bench.py: Add support for latency benchmarking.
|
|
|
|
|
2017-08-17 13:55:44 +02:00
|
|
|
2017-08-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* Makeconfig (+link-pie-before-libc): Add CRT-* hook to override
|
|
|
|
the startup object.
|
|
|
|
|
2017-08-17 10:18:04 +02:00
|
|
|
2017-08-17 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* include/sys/socket.h (__opensock): Remove internal_function.
|
|
|
|
* socket/opensock.c (__opensock): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/opensock.c (__opensock): Likewise.
|
|
|
|
|
Fix sigval namespace (bug 21944).
XPG4.2 defines the siginfo_t type, but not union sigval or its
contents (which were added in the 1993 edition of POSIX.1), resulting
in namespace violations for sigval, sival_int and sival_ptr for
signal.h and sys/wait.h for that standard because those headers
incorrectly expose those names in that case.
This patch fixes this problem. The public type in this case is union
sigval, but various places in the headers use the sigval_t name for
it; direct uses of union sigval are already properly guarded or in
headers not in XPG4.2. Now, sigval_t, although not a standard name,
does seem to be widely used outside glibc. The approach taken by this
patch is to make installed headers use the name __sigval_t instead.
__sigval_t is then defined to either union sigval or union __sigval
(where union __sigval has __-prefixed member names as well), depending
on whether there are any namespace issues with the union sigval name
and its members. In the case where union __sigval is used, sigval_t
is not defined at all, to avoid the problem of sigval_t having a C++
mangled name that depends on feature test macros. sigval_t is still
defined by signal.h if __USE_MISC (reflecting the nonstandard nature
of that name).
Tested for x86_64.
[BZ #21944]
* signal/bits/types/__sigval_t.h: New file.
* signal/Makefile (headers): Add bits/types/__sigval_t.h.
* signal/bits/types/sigval_t.h: Include <bits/types/__sigval_t.h>
and define sigval_t using __sigval_t.
* include/bits/types/__sigval_t.h: New file.
* bits/types/sigevent_t.h: Include <bits/types/__sigval_t.h>
instead of <bits/types/__sigval_t.h>.
(struct sigevent): Use __sigval_t instead of sigval_t.
* bits/types/siginfo_t.h: Include <bits/types/__sigval_t.h>
instead of <bits/types/__sigval_t.h>.
(siginfo_t): Use __sigval_t instead of sigval_t.
* sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
(struct sigevent): Use __sigval_t instead of sigval_t.
* sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
(siginfo_t): Use __sigval_t instead of sigval_t.
* signal/signal.h [__USE_MISC]: Include <bits/types/sigval_t.h>.
2017-08-16 22:33:59 +02:00
|
|
|
2017-08-16 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #21944]
|
|
|
|
* signal/bits/types/__sigval_t.h: New file.
|
|
|
|
* signal/Makefile (headers): Add bits/types/__sigval_t.h.
|
|
|
|
* signal/bits/types/sigval_t.h: Include <bits/types/__sigval_t.h>
|
|
|
|
and define sigval_t using __sigval_t.
|
|
|
|
* include/bits/types/__sigval_t.h: New file.
|
|
|
|
* bits/types/sigevent_t.h: Include <bits/types/__sigval_t.h>
|
|
|
|
instead of <bits/types/__sigval_t.h>.
|
|
|
|
(struct sigevent): Use __sigval_t instead of sigval_t.
|
|
|
|
* bits/types/siginfo_t.h: Include <bits/types/__sigval_t.h>
|
|
|
|
instead of <bits/types/__sigval_t.h>.
|
|
|
|
(siginfo_t): Use __sigval_t instead of sigval_t.
|
|
|
|
* sysdeps/unix/sysv/linux/bits/types/sigevent_t.h: Include
|
|
|
|
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
|
|
|
|
(struct sigevent): Use __sigval_t instead of sigval_t.
|
|
|
|
* sysdeps/unix/sysv/linux/bits/types/siginfo_t.h: Include
|
|
|
|
<bits/types/__sigval_t.h> instead of <bits/types/__sigval_t.h>.
|
|
|
|
(siginfo_t): Use __sigval_t instead of sigval_t.
|
|
|
|
* signal/signal.h [__USE_MISC]: Include <bits/types/sigval_t.h>.
|
|
|
|
|
2017-08-16 20:05:55 +02:00
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* NEWS: Remove "[Add new features here]" for 2.27.
|
|
|
|
|
2017-08-16 19:01:27 +02:00
|
|
|
2017-08-16 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/sh/localplt.data: Allow abort in
|
|
|
|
libc.so.
|
|
|
|
|
2017-08-16 18:17:34 +02:00
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* NEWS: Mention x86-64 FMA optimization.
|
|
|
|
|
2017-08-16 17:43:35 +02:00
|
|
|
2017-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21912]
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
Add e_expf-fma.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: New file.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_expf.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Likewise.
|
|
|
|
|
2017-08-16 15:59:55 +02:00
|
|
|
2017-08-16 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
2017-08-16 16:47:20 +02:00
|
|
|
[BZ #16750]
|
|
|
|
CVE-2009-5064
|
2017-08-16 15:59:55 +02:00
|
|
|
* elf/ldd.bash.in: Never run file directly.
|
|
|
|
|
x86-64: Align L(SP_RANGE)/L(SP_INF_0) to 8 bytes [BZ #21955]
sysdeps/x86_64/fpu/e_expf.S has
lea L(SP_RANGE)(%rip), %rdx /* load over/underflow bound */
cmpl (%rdx,%rax,4), %ecx /* |x|<under/overflow bound ? */
...
/* Here if |x| is Inf */
lea L(SP_INF_0)(%rip), %rdx /* depending on sign of x: */
movss (%rdx,%rax,4), %xmm0 /* return zero or Inf */
ret
...
.section .rodata.cst8,"aM",@progbits,8
...
.p2align 2
L(SP_RANGE): /* single precision overflow/underflow bounds */
.long 0x42b17217 /* if x>this bound, then result overflows */
.long 0x42cff1b4 /* if x<this bound, then result underflows */
.type L(SP_RANGE), @object
ASM_SIZE_DIRECTIVE(L(SP_RANGE))
.p2align 2
L(SP_INF_0):
.long 0x7f800000 /* single precision Inf */
.long 0 /* single precision zero */
.type L(SP_INF_0), @object
ASM_SIZE_DIRECTIVE(L(SP_INF_0))
Since L(SP_RANGE) and L(SP_INF_0) are in .rodata.cst8 section, they must
be aligned to 8 bytes.
[BZ #21955]
* sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes.
(L(SP_INF_0)): Likewise.
2017-08-15 23:04:59 +02:00
|
|
|
2017-08-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21955]
|
|
|
|
* sysdeps/x86_64/fpu/e_expf.S (L(SP_RANGE)): Aligned to 8 bytes.
|
|
|
|
(L(SP_INF_0)): Likewise.
|
|
|
|
|
2017-08-15 18:35:42 +02:00
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* gmon/Makefile (tests-special): Add tst-gmon-prof only if
|
|
|
|
run-built-tests.
|
|
|
|
|
2017-08-15 17:28:37 +02:00
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
Remove BROKEN_THREAD_SIGNALS support for LinuxThreads.
|
|
|
|
* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Remove
|
|
|
|
BROKEN_THREAD_SIGNALS code.
|
|
|
|
* sysdeps/ppthread/aio_misc.h (struct waitlist, struct
|
|
|
|
request_list): Remove caller_pid member used for
|
|
|
|
BROKEN_THREAD_SIGNALS.
|
|
|
|
[BROKEN_THREAD_SIGNALS] (__aio_notify_only): Remove declaration.
|
|
|
|
* sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify):
|
|
|
|
Remove BROKEN_THREAD_SIGNALS support.
|
|
|
|
* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
|
|
|
|
* sysdeps/pthread/lio_listio.c (lio_listio_internal): Likewise.
|
|
|
|
|
2017-08-15 15:49:40 +02:00
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* gmon/Makefile (tests): Add tst-gmon.
|
|
|
|
(CFLAGS-tst-gmon.c, LDFLAGS-tst-gmon, CRT-tst-gmon, tst-gmon-ENV):
|
|
|
|
Set.
|
|
|
|
(tests-special): Add tst-gmon-prof.out.
|
|
|
|
(tst-gmon.out): Depend on clean-tst-gmon-data.
|
|
|
|
(clean-tst-gmon-data, tst-gmon-gprof.out): New targets.
|
|
|
|
* gmon/tst-gmon.c, gmon/tst-gmon-gprof.sh: New files.
|
|
|
|
* Makeconfig (+link-before-libc): Add CRT-* hook to override the
|
|
|
|
startup object.
|
|
|
|
* aclocal.m4 (GPROF): Set and substitute.
|
|
|
|
* config.amke.in (GPROF): Set.
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
2017-08-15 15:17:30 +02:00
|
|
|
2017-08-15 Gustavo Romero <gromero@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* elf/elf.h A (NT_PPC_TAR): New macro.
|
|
|
|
(NT_PPC_PPR): Likewise.
|
|
|
|
(NT_PPC_DSCR): Likewise.
|
|
|
|
(NT_PPC_EBB): Likewise.
|
|
|
|
(NT_PPC_PMU): Likewise.
|
|
|
|
(NT_PPC_TM_CGPR): Likewise.
|
|
|
|
(NT_PPC_TM_CFPR): Likewise.
|
|
|
|
(NT_PPC_TM_CVMX): Likewise.
|
|
|
|
(NT_PPC_TM_CVSX): Likewise.
|
|
|
|
(NT_PPC_TM_SPR): Likewise.
|
|
|
|
(NT_PPC_TM_CTAR): Likewise.
|
|
|
|
(NT_PPC_TM_CPPR): Likewise.
|
|
|
|
(NT_PPC_TM_CDSCR): Likewise.
|
|
|
|
|
2017-08-15 14:46:19 +02:00
|
|
|
2017-08-15 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* sysdeps/i386/machine-gmon.h (mcount_internal): Declare with
|
|
|
|
regparm (2) instead of internal_function.
|
|
|
|
(_MCOUNT_DECL): Adjust.
|
|
|
|
|
2017-08-15 14:00:07 +02:00
|
|
|
2017-08-15 Stefan Liebler <stli@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add z14.
|
|
|
|
* sysdeps/s390/dl-procinfo.h (_DL_PLATFORMS_COUNT): Increased.
|
|
|
|
|
2017-08-14 19:05:55 +02:00
|
|
|
2017-08-14 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* conform/data/sys/wait.h-data (si_value): Do not expect for
|
|
|
|
XPG42.
|
|
|
|
|
NSS: Replace exported NSS lookup functions with stubs [BZ #21962]
Commit 384ca551743318bd9c9e24a496d6397f2e3f2a49 from 2007 added this to
nss/XXX-lookup.c:
+#ifndef NO_COMPAT
+int
+internal_function attribute_compat_text_section
+DB_COMPAT_FCT (service_user **ni, const char *fct_name, void **fctp)
+{
+ return DB_LOOKUP_FCT (ni, fct_name, NULL, fctp);
+}
+#endif
That is, it adds a pseudo-compat function with an internal_function
attribute. The function it was supposed to replace did not have the
attribute:
extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name,
- void **fctp) internal_function;
+ const char *fct2_name, void **fctp)
+ internal_function;
This changed the calling convention on i386 for the following
functions in the public ABI:
__nss_passwd_lookup
__nss_group_lookup
__nss_hosts_lookup
This commit replaces the functions with always-failing stubs,
with true compat symbols. Due to a happy accident, the calling
convention of the stub is identical for the internal_function
and non-internal_function case on i386.
In addition, this commit auto-generates the __nss_*_lookup2
function declarations as part of <nsswitch.h>.
2017-08-14 17:12:05 +02:00
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21962]
|
|
|
|
NSS: Create stubs for accidentally exported lookup functions.
|
|
|
|
* grp/initgroups.c (__nss_group_lookup, __nss_lookup_function):
|
|
|
|
Remove declaration.
|
|
|
|
* inet/ether_hton.c (__nss_ethers_lookup): Likewise.
|
|
|
|
(ether_hostton): Call __nss_ethers_lookup2 instead.
|
|
|
|
* inet/ether_ntoh.c (__nss_ethers_lookup): Remove declaration.
|
|
|
|
(ether_ntohost): Call __nss_ethers_lookup2 instead.
|
|
|
|
* inet/getnetgrent_r.c (__nss_netgroup_lookup): Remove declaration.
|
|
|
|
(setup): Call __nss_netgroup_lookup2 instead.
|
|
|
|
* nss/Makefile (routines): Add compat-lookup.
|
|
|
|
* nss/Versions (GLIBC_2.27): Add symbol version.
|
|
|
|
* nss/XXX-lookup (DB_LOOKUP_FCT): Remove declaration. Now provided by <nsswitch.h>.
|
|
|
|
(DB_COMPAT_FCT): Remove.
|
|
|
|
* nss/compat-lookup.c: New file.
|
|
|
|
* nss/nsswitch.h: Generate __nss_*_lookup2 function prototypes
|
|
|
|
from databases.def.
|
|
|
|
* nss/service-lookup.c (NO_COMPAT): Remove definition.
|
|
|
|
* sunrpc/netname.c (__nss_publickey_lookup): Remove declaration.
|
|
|
|
(netname2user): Call __nss_publickey_lookup2 instead.
|
|
|
|
* sunrpc/publickey.c (__nss_publickey_lookup): Remove declaration.
|
|
|
|
(getpublickey, getsecretkey): Call __nss_publickey_lookup2
|
|
|
|
instead.
|
|
|
|
|
2017-08-06 16:14:32 +02:00
|
|
|
2017-08-14 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
Sergei Trofimovich <slyfox@inbox.ru>
|
|
|
|
|
|
|
|
[BZ #21908]
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/mmap_internal.h (MMAP2_PAGE_SHIFT):
|
|
|
|
Rename to MMAP2_PAGE_UNIT.
|
|
|
|
* sysdeps/unix/sysv/linux/mmap.c: Include mmap_internal iff
|
|
|
|
__OFF_T_MATCHES_OFF64_T is not defined.
|
|
|
|
* sysdeps/unix/sysv/linux/mmap_internal.h (page_unit): Declare as
|
|
|
|
uint64_t.
|
|
|
|
(MMAP2_PAGE_UNIT) [MMAP2_PAGE_UNIT == -1]: Redefine to page_unit.
|
|
|
|
(page_unit) [MMAP2_PAGE_UNIT != -1]: Remove definition.
|
|
|
|
|
2017-08-14 13:03:34 +02:00
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
i386: Do not set internal_function.
|
|
|
|
* config.h.in (USE_REGPARMS, internal_function): Remove.
|
|
|
|
* sysdeps/i386/configure.ac (USE_REGPARMS): Likewise.
|
|
|
|
* sysdeps/i386/configure (USE_REGPARMS): Likewise.
|
|
|
|
|
2017-08-14 12:57:50 +02:00
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* elf/dl-init.c (_dl_init): Remove internal_function.
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_init): Likewise.
|
|
|
|
* sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to _dl_init.
|
|
|
|
|
2017-08-14 12:29:21 +02:00
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* elf/rtld.c (_dl_start): Remove internal_function.
|
|
|
|
* sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to
|
|
|
|
_dl_start.
|
|
|
|
|
2017-08-14 11:44:24 +02:00
|
|
|
2017-08-14 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* elf/dl-fini.c (_dl_fini): Remove internal_function
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_fini): Likewise.
|
|
|
|
|
2017-08-14 14:54:25 +02:00
|
|
|
2017-08-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86/cpu-features.h (bit_cpu_BIT): New.
|
|
|
|
(bit_cpu_SHSTK): Likewise.
|
|
|
|
(index_cpu_IBT): Likewise.
|
|
|
|
(index_cpu_SHSTK): Likewise.
|
|
|
|
(reg_IBT): Likewise.
|
|
|
|
(reg_SHSTK): Likewise.
|
|
|
|
* sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
|
|
|
|
Handle index_cpu_IBT and index_cpu_SHSTK.
|
|
|
|
|
2017-08-14 09:25:56 +02:00
|
|
|
2017-08-14 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
[BZ #19982]
|
|
|
|
* po/fr.po: Fix spelling mistake.
|
|
|
|
|
2017-08-13 21:11:54 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* elf/dl-addr.c (_dl_addr): Remove internal_function.
|
|
|
|
* elf/dl-error-skeleton.c (_dl_signal_error, _dl_signal_cerror)
|
|
|
|
(_dl_catch_error, _dl_receive_error): Likewise.
|
|
|
|
* elf/dl-open.c (_dl_find_dso_for_object): Likewise.
|
|
|
|
* elf/dl-tls.c (_dl_allocate_tls_init, _dl_allocate_tls)
|
|
|
|
(_dl_deallocate_tls): Likewise.
|
|
|
|
* include/dlfcn.h (_dl_addr): Likewise.
|
|
|
|
* sysdeps/generic/ldsodefs.h (_dl_signal_error, _dl_signal_cerror)
|
|
|
|
(_dl_catch_error, _dl_receive_error, _dl_find_dso_for_object)
|
|
|
|
(_dl_allocate_tls_init, _dl_allocate_tls, _dl_deallocate_tls):
|
|
|
|
Likewise.
|
|
|
|
|
2017-08-13 21:11:47 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* include/stdlib.h: (__strtof_nan, __strtod_nan, __strtold_nan)
|
|
|
|
(__wcstof_nan, __wcstod_nan, __wcstold_nan): Remove
|
|
|
|
internal_function.
|
|
|
|
* stdlib/sttod_nan_main.c (STRTOD_NAN): Likewise.
|
|
|
|
|
2017-08-13 21:11:38 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* elf/dl-support.c (_dl_make_stack_executable_hook): Remove
|
|
|
|
internal_function.
|
|
|
|
* nptl/allocatestack.c (__make_stacks_executable): Likewise.
|
|
|
|
* nptl/pthreadP.h (__make_stacks_executable): Likewise.
|
|
|
|
* sysdeps/generic/ldsodefs.h (_rtld_global): Remove
|
|
|
|
internal_function from _dl_make_stack_executable_hook member.
|
|
|
|
(_dl_make_stack_executable): Remove internal_function.
|
|
|
|
* sysdeps/mach/hurd/dl-execstack.c (_dl_make_stack_executable):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/dl-execstack.c
|
|
|
|
(_dl_make_stack_executable): Likewise.
|
|
|
|
|
2017-08-13 21:11:28 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/netlinkaccess.h
|
|
|
|
(__netlink_assert_response): Remove internal_function.
|
|
|
|
* sysdeps/unix/sysv/linux/netlink_assert_response.c
|
|
|
|
(__netlink_assert_response): Likewise.
|
|
|
|
|
2017-08-13 21:11:06 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* include/rpc/pmap_clnt.h (__libc_rpc_getport): Remove
|
|
|
|
internal_function.
|
|
|
|
* sunrpoc/pm_getport.c (__libc_rpc_getport): Likewise.
|
|
|
|
|
2017-08-13 21:10:56 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* grp/grp-merge.h (__copy_grp, __merge_grp): Remove
|
|
|
|
internal_function.
|
|
|
|
* grp/grp-merge.c (__copy_grp, __merge_grp): Likewise.
|
|
|
|
* inet/netgroup.h (__internal_setnetgrent)
|
|
|
|
(__internal_endnetgrent,__internal_getnetgrent_r): Likewise.
|
|
|
|
* inet/getnetgrent_r.c (__internal_setnetgrent)
|
|
|
|
(__internal_endnetgrent,__internal_getnetgrent_r): Likewise.
|
|
|
|
* nss/XXX-lookup.c (DB_LOOKUP_FCT, DB_COMPAT_FCT): Likewise.
|
|
|
|
* nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Likewise.
|
|
|
|
* nss/getXXent_r.c (DB_LOOKUP_FCT): Likewise.
|
|
|
|
* nss/nsswitch.h (db_lookup_function): Likewise.
|
|
|
|
|
2017-08-13 21:10:44 +02:00
|
|
|
2017-08-13 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* debug/fortify_fail.c (__fortify_fail, __fortify_fail_abort):
|
|
|
|
Remove internal_function.
|
|
|
|
* include/stdio.h (__fortify_fail, __fortify_fail_abort): Likewise.
|
|
|
|
* sysdeps/mach/hurd/i386/____longjmp_chk.S (CALL_FAIL): Pass
|
|
|
|
message argument on the stack.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S (CALL_FAIL):
|
|
|
|
Likeweise.
|
|
|
|
|
2017-08-12 17:15:25 +02:00
|
|
|
2017-08-12 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
Adapt test case data to the changes in the thousands
|
|
|
|
separators.
|
|
|
|
|
|
|
|
[BZ #20756]
|
|
|
|
* localedata/tst-langinfo.sh: Adapt test case data.
|
|
|
|
* stdlib/tst-strfmon_l.c: Likewise.
|
|
|
|
* stdlib/tst-strtod4.c: Likewise.
|
|
|
|
* stdlib/tst-strtod5i.c: Likewise.
|
|
|
|
|
2017-08-11 15:36:08 +02:00
|
|
|
2017-08-11 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21242]
|
|
|
|
* assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert):
|
|
|
|
Suppress pedantic warning resulting from statement expression.
|
|
|
|
(__ASSERT_FUNCTION): Add missing __extension__.
|
|
|
|
|
2017-08-11 08:47:24 +02:00
|
|
|
2017-08-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
2017-08-11 08:47:46 +02:00
|
|
|
* benchtests/bench-memmove-large.c: Print output in JSON
|
|
|
|
format.
|
|
|
|
* benchtests/bench-memmove.c: Likewise.
|
|
|
|
|
2017-08-11 08:47:24 +02:00
|
|
|
* benchtests/bench-memccpy.c (do_one_test): Remove checks.
|
|
|
|
* benchtests/bench-memchr.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-memcpy-large.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-memcpy.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-memmove-large.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-memmove.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-memset-large.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-memset.c (do_one_test): Likewise.
|
|
|
|
* benchtests/bench-string.h (test_init): Remove memsets.
|
|
|
|
|
2017-07-27 14:04:48 +02:00
|
|
|
2017-08-10 Rical Jasan <ricaljasan@pacific.net>
|
|
|
|
|
|
|
|
* manual/lang.texi
|
|
|
|
(Computing the Width of an Integer Data Type): Rename section to
|
|
|
|
"Width of an Integer Type". Remove inaccurate statement regarding
|
|
|
|
lack of C language facilities for determining width of integer
|
|
|
|
types, and reorder content to improve flow and context of
|
|
|
|
discussion.
|
|
|
|
|
2017-06-20 12:46:24 +02:00
|
|
|
2017-08-10 Rical Jasan <ricaljasan@pacific.net>
|
|
|
|
|
|
|
|
* lang.texi (va_copy): Change standard from ISO to C99.
|
|
|
|
(__va_copy): Add standard and header annotation.
|
|
|
|
Update description for clarity of origins and current use.
|
|
|
|
|
2017-08-07 14:14:14 +02:00
|
|
|
2017-08-10 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
[BZ #21941]
|
|
|
|
* sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since
|
|
|
|
xssqrtqp requires operands to be in Vector Registers
|
|
|
|
(Altivec/VMX), replace the register constraint 'wq' with 'v'.
|
|
|
|
* sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c
|
|
|
|
(__ieee754_sqrtf128): Likewise.
|
|
|
|
|
2017-08-10 18:00:38 +02:00
|
|
|
2017-08-10 Wilco Dijkstra <wdijkstr@arm.com>
|
|
|
|
|
|
|
|
* sysdeps/aarch64/memcmp.S (memcmp):
|
|
|
|
Rewrite of optimized memcmp.
|
|
|
|
|
2017-08-10 13:40:22 +02:00
|
|
|
2017-08-10 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
Introduce ld.so exceptions.
|
|
|
|
* sysdeps/generic/ldsodefs.h (struct dl_exception): Define.
|
|
|
|
(_dl_exception_create, _dl_exception_create_format)
|
|
|
|
(_dl_exception_free, _dl_signal_exception, _dl_signal_cexception)
|
|
|
|
(_dl_catch_exception): Declare.
|
|
|
|
(_dl_catch_error): Update comment.
|
|
|
|
* elf/dl-error-skeleton.c (struct catch): Replace objname,
|
|
|
|
errstring, malloced members with exception member.
|
|
|
|
(_dl_out_of_memory): Remove.
|
|
|
|
(fatal_error): New function, extracted from _dl_signal_error.
|
|
|
|
(_dl_signal_exception, _dl_signal_cexception): New functions.
|
|
|
|
(_dl_signal_error): Call _dl_exception_create to allocate an
|
|
|
|
exception object.
|
|
|
|
(_dl_catch_exception): New function, based on _dl_catch_error.
|
|
|
|
(_dl_catch_error): Implement using _dl_catch_exception.
|
|
|
|
* elf/dl-exception.c: New file.
|
|
|
|
* elf/Makefile (dl-routines): Add dl-exception.
|
|
|
|
(elide-routines.os): Likewise.
|
|
|
|
* elf/Version (ld/GLIBC_PRIVATE): Add _dl_exception_create,
|
|
|
|
_dl_exception_create_format, _dl_exception_free.
|
|
|
|
* elf/dl-deps.c (_dl_map_object_deps): Use _dl_catch_exception and
|
|
|
|
_dl_signal_exception.
|
|
|
|
* elf/dl-lookup.c (make_string): Remove.
|
|
|
|
(_dl_lookup_symbol_x): Use _dl_exception_create_format,
|
|
|
|
_dl_signal_cexception, _dl_exception_free.
|
|
|
|
* elf/dl-open.c (_dl_open): Use _dl_catch_exception and
|
|
|
|
_dl_signal_exception.
|
|
|
|
* elf/dl-sym.c (do_sym): Likewise.
|
|
|
|
* elf/dl-version.c (make_string): Remove.
|
|
|
|
(match_symbol): Use _dl_exception_create_format,
|
|
|
|
_dl_signal_cexception, _dl_exception_free.
|
|
|
|
(_dl_check_map_versions): Likewise.
|
|
|
|
* sysdeps/generic/localplt.data (ld.so): Add _dl_signal_exception,
|
|
|
|
_dl_catch_exception.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/arm/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/microblaze/localplt.data (ld.so):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/localplt.data
|
|
|
|
(ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data
|
|
|
|
(ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/localplt.data (ld.so):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sh/localplt.data (ld.so): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data (ld.so):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data (ld.so):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/x86_64/localplt.data (ld.so): Likewise.
|
|
|
|
|
2017-08-10 16:06:52 +02:00
|
|
|
2017-08-10 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* inet/net-internal.h (__inet6_scopeid_pton): Remove
|
|
|
|
attribute_hidden, internal_function.
|
|
|
|
* inet/inet6_scopeid_pton.c (__inet6_scopeid_pton): Remove
|
|
|
|
internal_function.
|
|
|
|
|
2017-08-10 15:58:28 +02:00
|
|
|
2017-08-10 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* malloc/malloc.c (get_max_fast): Reimplement as an inline
|
|
|
|
function which calls __builtin_unreachable.
|
|
|
|
|
2017-08-10 12:16:29 +02:00
|
|
|
2017-08-10 Mike FABIAN <mfabian@redhat.com>
|
|
|
|
|
|
|
|
* stdlib/tst-strfmon_l.c: Fix test cases to agree with the changes in
|
|
|
|
Indian monetary formatting
|
|
|
|
* stdlib/Makefile: Adapt list of locales needed for the tst-strfmon_l.c
|
|
|
|
test cases.
|
|
|
|
|
2017-07-18 11:23:38 +02:00
|
|
|
2017-08-09 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
|
2017-08-10 03:28:58 +02:00
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (enum __ptrace_request):
|
|
|
|
Fix typo in comment.
|
|
|
|
|
2017-07-18 11:23:38 +02:00
|
|
|
[BZ #21928]
|
|
|
|
* sysdeps/unix/sysv/linux/sys/ptrace.h (enum __ptrace_flags,
|
|
|
|
PTRACE_SEIZE_DEVEL): Remove.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
|
|
|
|
|
Fix uc_* namespace (bug 21457).
The standard members of ucontext_t, in all standard versions with that
type, are uc_link, uc_sigmask, uc_stack and uc_mcontext.
The uc_* namespace is mostly reserved for additions to the structure.
However, in XPG4.2, it's only reserved when <ucontext.h> is included,
not when <signal.h> is included, while <signal.h> is required to
define ucontext_t (but not allowed to make visible other symbols from
<ucontext.h>). Thus, nonstandard members should avoid uc_* names.
Some already do use __uc_*, but others don't; most architectures (all
except ia64, I think) have a member uc_flags and some have additional
members beyond that.
This patch makes nonstandard members have an __ prefix unless
__USE_MISC is defined. Members whose names indicate they are solely
padding / reserved for future use are renamed unconditionally to use
the __glibc_reserved1 naming convention.
This is part of the preparation for a revised version of the
mcontext_t / sigcontext patch to be able to eliminate all 13 of the
miscellaneous XFAILs in conform/Makefile, rather than only 11 of them
as at present (at least one further fix on top of this one will be
needed for that as well).
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21457]
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
(__ctxt): Likewise.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
Rename uc_pad to __glibc_reserved1.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
2017-08-09 19:51:26 +02:00
|
|
|
2017-08-09 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
2017-08-09 20:10:52 +02:00
|
|
|
* posix/bits/types.h (__qaddr_t): Remove.
|
|
|
|
|
Fix uc_* namespace (bug 21457).
The standard members of ucontext_t, in all standard versions with that
type, are uc_link, uc_sigmask, uc_stack and uc_mcontext.
The uc_* namespace is mostly reserved for additions to the structure.
However, in XPG4.2, it's only reserved when <ucontext.h> is included,
not when <signal.h> is included, while <signal.h> is required to
define ucontext_t (but not allowed to make visible other symbols from
<ucontext.h>). Thus, nonstandard members should avoid uc_* names.
Some already do use __uc_*, but others don't; most architectures (all
except ia64, I think) have a member uc_flags and some have additional
members beyond that.
This patch makes nonstandard members have an __ prefix unless
__USE_MISC is defined. Members whose names indicate they are solely
padding / reserved for future use are renamed unconditionally to use
the __glibc_reserved1 naming convention.
This is part of the preparation for a revised version of the
mcontext_t / sigcontext patch to be able to eliminate all 13 of the
miscellaneous XFAILs in conform/Makefile, rather than only 11 of them
as at present (at least one further fix on top of this one will be
needed for that as well).
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21457]
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
(__ctxt): Likewise.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
Rename uc_pad to __glibc_reserved1.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
2017-08-09 19:51:26 +02:00
|
|
|
[BZ #21457]
|
|
|
|
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
__glibc_reserved1.
|
|
|
|
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
(__ctxt): Likewise.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
__glibc_reserved1.
|
|
|
|
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
__glibc_reserved1.
|
|
|
|
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
__glibc_reserved1.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
|
|
|
|
macro.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
|
|
|
|
undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
|
|
|
|
__glibc_reserved1.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
|
|
|
|
undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
|
|
|
|
undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
|
|
|
|
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
|
|
|
|
Rename uc_pad to __glibc_reserved1.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
|
|
|
|
undefine further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
|
|
|
|
further down.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
|
|
|
|
__ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
|
|
|
|
(ucontext_t): Use __ctx with uc_flags.
|
|
|
|
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
|
|
|
|
__ctx with uc_flags.
|
|
|
|
|
2017-08-09 17:46:04 +02:00
|
|
|
2017-08-09 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21932]
|
|
|
|
* nss/getXXbyYY_r.c (REENTRANT_NAME): Call __resolv_context_put
|
|
|
|
before early return.
|
|
|
|
|
2017-08-09 10:36:08 +02:00
|
|
|
2017-08-09 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
2017-08-09 10:58:58 +02:00
|
|
|
[BZ #21041]
|
2017-08-09 10:36:08 +02:00
|
|
|
* sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to
|
|
|
|
renamed alias.
|
|
|
|
|
2017-08-09 10:58:58 +02:00
|
|
|
[BZ #21041]
|
2017-08-08 17:44:32 +02:00
|
|
|
* nptl/Makefile (tests) [$(build-shared) = yes]: Add
|
|
|
|
tst-compat-forwarder.
|
|
|
|
(modules-names): Add tst-compat-forwarder-mod.
|
|
|
|
($(objpfx)tst-compat-forwarder): Depend on
|
|
|
|
$(objpfx)tst-compat-forwarder-mod.so.
|
|
|
|
* nptl/tst-compat-forwarder.c: New file.
|
|
|
|
* nptl/tst-compat-forwarder-mod.c: New file.
|
|
|
|
|
aarch64: Optimized memcpy for Qualcomm Falkor processor
This is an optimized implementation of the memcpy routine that gives a
significant gain in performance for all sizes of copies on the
Qualcomm Falkor processor. A detailed rationale of the implementation
is written in a comment in the patch.
This implementation improves time for copies up to 128 bytes by up to
15% and for larger copies by up to 35% in the glibc
microbenchmark. The memcpy-random benchmark sees improvements in all
sizes in the range of 13%-18%.
Here are the full numbers extracted from the glibc microbenchmark
using the commands:
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-large.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-random.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic max-size
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: default
================================================================================
length=1,align1=0,align2=0: 33.59 (-115.00%) 15.62 (0.00%) 15.62
length=1,align1=0,align2=0: 16.41 (-10.53%) 14.06 (5.26%) 14.84
length=1,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=1: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=4,align1=0,align2=2: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=2: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=8,align1=0,align2=0: 14.84 (-5.56%) 13.28 (5.56%) 14.06
length=8,align1=3,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=3: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=3,align2=3: 13.28 (-6.25%) 13.28 (-6.25%) 12.50
length=16,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=16,align1=0,align2=4: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=4: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=32,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=32,align1=5,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=32,align1=0,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=32,align1=5,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=64,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=64,align1=6,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=64,align1=0,align2=6: 14.06 (5.26%) 14.06 (5.26%) 14.84
length=64,align1=6,align2=6: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=128,align1=0,align2=0: 17.19 (-4.76%) 14.84 (9.52%) 16.41
length=128,align1=7,align2=0: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=128,align1=0,align2=7: 16.41 (0.00%) 14.06 (14.29%) 16.41
length=128,align1=7,align2=7: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=256,align1=0,align2=0: 21.88 (-3.70%) 21.09 (0.00%) 21.09
length=256,align1=8,align2=0: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=256,align1=0,align2=8: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=256,align1=8,align2=8: 21.88 (-7.69%) 20.31 (0.00%) 20.31
length=512,align1=0,align2=0: 28.91 (-2.78%) 28.91 (-2.78%) 28.12
length=512,align1=9,align2=0: 30.47 (-2.63%) 30.47 (-2.63%) 29.69
length=512,align1=0,align2=9: 29.69 (0.00%) 29.69 (0.00%) 29.69
length=512,align1=9,align2=9: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=10,align2=0: 50.00 (0.00%) 50.00 (0.00%) 50.00
length=1024,align1=0,align2=10: 49.22 (1.56%) 50.78 (-1.56%) 50.00
length=1024,align1=10,align2=10: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=2048,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2048,align1=11,align2=0: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=0,align2=11: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=11,align2=11: 75.78 (0.00%) 75.78 (0.00%) 75.78
length=4096,align1=0,align2=0: 141.41 (-0.56%) 140.62 (0.00%) 140.62
length=4096,align1=12,align2=0: 171.09 (-0.46%) 170.31 (0.00%) 170.31
length=4096,align1=0,align2=12: 170.31 (0.00%) 170.31 (0.00%) 170.31
length=4096,align1=12,align2=12: 140.62 (0.00%) 140.62 (0.00%) 140.62
length=8192,align1=0,align2=0: 278.91 (-0.28%) 275.78 (0.84%) 278.12
length=8192,align1=13,align2=0: 338.28 (0.23%) 335.94 (0.92%) 339.06
length=8192,align1=0,align2=13: 338.28 (0.00%) 455.47 (-34.64%) 338.28
length=8192,align1=13,align2=13: 278.12 (-0.28%) 275.78 (0.56%) 277.34
length=16384,align1=0,align2=0: 535.94 (-0.15%) 531.25 (0.73%) 535.16
length=16384,align1=14,align2=0: 659.38 (0.12%) 659.38 (0.12%) 660.16
length=16384,align1=0,align2=14: 659.38 (0.00%) 657.03 (0.36%) 659.38
length=16384,align1=14,align2=14: 535.16 (0.44%) 532.81 (0.87%) 537.50
length=32768,align1=0,align2=0: 1260.94 (10.68%) 1121.88 (20.53%) 1411.72
length=32768,align1=15,align2=0: 1368.75 (10.02%) 1376.56 (9.50%) 1521.09
length=32768,align1=0,align2=15: 1333.59 (10.91%) 1373.44 (8.25%) 1496.88
length=32768,align1=15,align2=15: 1256.25 (13.96%) 1125.78 (22.90%) 1460.16
length=65536,align1=0,align2=0: 2853.91 (30.11%) 2589.06 (36.60%) 4083.59
length=65536,align1=16,align2=0: 2850.00 (30.14%) 2589.84 (36.52%) 4079.69
length=65536,align1=0,align2=16: 2853.12 (30.60%) 2589.84 (37.00%) 4110.94
length=65536,align1=16,align2=16: 2850.78 (30.07%) 2589.06 (36.49%) 4076.56
length=0,align1=0,align2=0: 15.62 (-5.26%) 16.41 (-10.53%) 14.84
length=0,align1=0,align2=0: 14.84 (-5.56%) 14.84 (-5.56%) 14.06
length=0,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=0,align1=0,align2=0: 16.41 (-16.67%) 14.84 (-5.56%) 14.06
length=1,align1=0,align2=0: 15.62 (4.76%) 15.62 (4.76%) 16.41
length=1,align1=1,align2=0: 15.62 (0.00%) 14.84 (5.00%) 15.62
length=1,align1=0,align2=1: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=1,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=2,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=2: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=2,align1=2,align2=2: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=3,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=3,align1=3,align2=0: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=3,align1=0,align2=3: 15.62 (-11.11%) 14.06 (0.00%) 14.06
length=3,align1=3,align2=3: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=4,align1=0,align2=0: 17.97 (-27.78%) 14.06 (0.00%) 14.06
length=4,align1=4,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=4: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=4,align1=4,align2=4: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=0,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=5,align1=0,align2=5: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=5: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=0,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=6,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=6,align1=0,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=6,align1=6,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=7,align1=0,align2=0: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=7,align1=7,align2=0: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=7,align1=0,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=7,align1=7,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=8,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=8: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=8: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=9,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=9: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=9,align1=9,align2=9: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=0,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=10,align1=10,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=10,align1=0,align2=10: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=10,align2=10: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=11,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=0,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=12: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=12: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=13,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=0,align2=13: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=13: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=14,align1=0,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=15,align1=0,align2=15: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=15: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=16,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=16,align1=0,align2=16: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=16: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=17,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=17,align1=17,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=17,align1=0,align2=17: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=17,align1=17,align2=17: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=18,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=18,align1=18,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=18,align1=0,align2=18: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=18,align1=18,align2=18: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=19,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=19,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=0,align2=19: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=19,align1=19,align2=19: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=0,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=20,align1=0,align2=20: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=20: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=21,align1=0,align2=0: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=21,align1=21,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=21,align1=0,align2=21: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=21,align1=21,align2=21: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=22,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=22,align1=22,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=22,align1=0,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=22,align1=22,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=23,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=23,align1=0,align2=23: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=23: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=24,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=24,align1=0,align2=24: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=24: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=25,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=25,align1=0,align2=25: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=25: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=26,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=26,align1=0,align2=26: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=26: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=27,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=0,align2=27: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=27: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=28,align1=28,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=28: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=28,align2=28: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=29,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=29,align1=29,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=29,align1=0,align2=29: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=29,align1=29,align2=29: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=30: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=30: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=0,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=31,align1=0,align2=31: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=31: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=48,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=3,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=0,align2=3: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=48,align1=3,align2=3: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=80,align1=0,align2=0: 15.62 (-11.11%) 14.84 (-5.56%) 14.06
length=80,align1=5,align2=0: 15.62 (-11.11%) 16.41 (-16.67%) 14.06
length=80,align1=0,align2=5: 14.06 (0.00%) 15.62 (-11.11%) 14.06
length=80,align1=5,align2=5: 15.62 (-5.26%) 17.19 (-15.79%) 14.84
length=96,align1=0,align2=0: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=0: 14.84 (-5.56%) 16.41 (-16.67%) 14.06
length=96,align1=0,align2=6: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=6: 14.84 (-5.56%) 17.19 (-22.22%) 14.06
length=112,align1=0,align2=0: 17.19 (-4.76%) 14.06 (14.29%) 16.41
length=112,align1=7,align2=0: 17.19 (0.00%) 16.41 (4.55%) 17.19
length=112,align1=0,align2=7: 16.41 (0.00%) 14.84 (9.52%) 16.41
length=112,align1=7,align2=7: 17.19 (0.00%) 17.19 (0.00%) 17.19
length=144,align1=0,align2=0: 17.19 (-10.00%) 17.97 (-15.00%) 15.62
length=144,align1=9,align2=0: 17.19 (-4.76%) 18.75 (-14.29%) 16.41
length=144,align1=0,align2=9: 20.31 (-8.33%) 18.75 (0.00%) 18.75
length=144,align1=9,align2=9: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=160,align1=0,align2=0: 18.75 (-4.35%) 17.97 (0.00%) 17.97
length=160,align1=10,align2=0: 18.75 (4.00%) 18.75 (4.00%) 19.53
length=160,align1=0,align2=10: 19.53 (-4.17%) 17.97 (4.17%) 18.75
length=160,align1=10,align2=10: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=176,align1=0,align2=0: 18.75 (-4.35%) 17.19 (4.35%) 17.97
length=176,align1=11,align2=0: 19.53 (0.00%) 19.53 (0.00%) 19.53
length=176,align1=0,align2=11: 19.53 (-4.17%) 18.75 (0.00%) 18.75
length=176,align1=11,align2=11: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=0,align2=0: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=12,align2=0: 21.09 (-8.00%) 18.75 (4.00%) 19.53
length=192,align1=0,align2=12: 18.75 (0.00%) 18.75 (0.00%) 18.75
length=192,align1=12,align2=12: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=208,align1=0,align2=0: 17.97 (0.00%) 20.31 (-13.04%) 17.97
length=208,align1=13,align2=0: 19.53 (7.41%) 21.09 (0.00%) 21.09
length=208,align1=0,align2=13: 23.44 (-11.11%) 21.09 (0.00%) 21.09
length=208,align1=13,align2=13: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=224,align1=0,align2=0: 21.09 (-8.00%) 20.31 (-4.00%) 19.53
length=224,align1=14,align2=0: 23.44 (-11.11%) 20.31 (3.70%) 21.09
length=224,align1=0,align2=14: 21.09 (3.57%) 20.31 (7.14%) 21.88
length=224,align1=14,align2=14: 20.31 (0.00%) 19.53 (3.85%) 20.31
length=240,align1=0,align2=0: 20.31 (-4.00%) 19.53 (0.00%) 19.53
length=240,align1=15,align2=0: 22.66 (0.00%) 20.31 (10.34%) 22.66
length=240,align1=0,align2=15: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=240,align1=15,align2=15: 21.88 (0.00%) 21.09 (3.57%) 21.88
length=272,align1=0,align2=0: 20.31 (0.00%) 28.12 (-38.46%) 20.31
length=272,align1=17,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=272,align1=0,align2=17: 25.78 (-10.00%) 28.12 (-20.00%) 23.44
length=272,align1=17,align2=17: 22.66 (-3.57%) 27.34 (-25.00%) 21.88
length=288,align1=0,align2=0: 23.44 (-7.14%) 27.34 (-25.00%) 21.88
length=288,align1=18,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=288,align1=0,align2=18: 23.44 (-3.45%) 25.00 (-10.35%) 22.66
length=288,align1=18,align2=18: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=304,align1=0,align2=0: 21.88 (0.00%) 21.88 (0.00%) 21.88
length=304,align1=19,align2=0: 23.44 (-3.45%) 22.66 (0.00%) 22.66
length=304,align1=0,align2=19: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=304,align1=19,align2=19: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=0,align2=0: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=20,align2=0: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=0,align2=20: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=20,align2=20: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=336,align1=0,align2=0: 21.88 (0.00%) 24.22 (-10.71%) 21.88
length=336,align1=21,align2=0: 22.66 (0.00%) 25.00 (-10.35%) 22.66
length=336,align1=0,align2=21: 25.78 (0.00%) 25.00 (3.03%) 25.78
length=336,align1=21,align2=21: 25.00 (0.00%) 23.44 (6.25%) 25.00
length=352,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=352,align1=22,align2=0: 25.00 (0.00%) 25.00 (0.00%) 25.00
length=352,align1=0,align2=22: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=352,align1=22,align2=22: 25.00 (-3.23%) 24.22 (0.00%) 24.22
length=368,align1=0,align2=0: 25.00 (-3.23%) 23.44 (3.23%) 24.22
length=368,align1=23,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=368,align1=0,align2=23: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=368,align1=23,align2=23: 25.00 (-6.67%) 23.44 (0.00%) 23.44
length=384,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=384,align1=24,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=384,align1=0,align2=24: 25.00 (0.00%) 25.78 (-3.12%) 25.00
length=384,align1=24,align2=24: 24.22 (-3.33%) 23.44 (0.00%) 23.44
length=400,align1=0,align2=0: 25.00 (-3.23%) 26.56 (-9.68%) 24.22
length=400,align1=25,align2=0: 25.78 (-3.12%) 27.34 (-9.38%) 25.00
length=400,align1=0,align2=25: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=400,align1=25,align2=25: 26.56 (0.00%) 25.78 (2.94%) 26.56
length=416,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=416,align1=26,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=416,align1=0,align2=26: 27.34 (-2.94%) 28.12 (-5.88%) 26.56
length=416,align1=26,align2=26: 25.78 (0.00%) 26.56 (-3.03%) 25.78
length=432,align1=0,align2=0: 27.34 (-2.94%) 25.78 (2.94%) 26.56
length=432,align1=27,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=432,align1=0,align2=27: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=432,align1=27,align2=27: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=448,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=448,align1=28,align2=0: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=448,align1=0,align2=28: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=448,align1=28,align2=28: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=464,align1=0,align2=0: 25.78 (0.00%) 28.12 (-9.09%) 25.78
length=464,align1=29,align2=0: 28.12 (-2.86%) 29.69 (-8.57%) 27.34
length=464,align1=0,align2=29: 30.47 (0.00%) 30.47 (0.00%) 30.47
length=464,align1=29,align2=29: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=480,align1=0,align2=0: 29.69 (-5.56%) 28.12 (0.00%) 28.12
length=480,align1=30,align2=0: 31.25 (-2.56%) 29.69 (2.56%) 30.47
length=480,align1=0,align2=30: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=480,align1=30,align2=30: 28.12 (0.00%) 28.12 (0.00%) 28.12
length=496,align1=0,align2=0: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=496,align1=31,align2=0: 30.47 (-2.63%) 29.69 (0.00%) 29.69
length=496,align1=0,align2=31: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=496,align1=31,align2=31: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=32,align2=0: 44.53 (-1.79%) 44.53 (-1.79%) 43.75
length=1024,align1=0,align2=32: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=1024,align1=32,align2=32: 43.75 (1.75%) 43.75 (1.75%) 44.53
length=1056,align1=0,align2=0: 46.88 (-1.69%) 46.88 (-1.69%) 46.09
length=1056,align1=33,align2=0: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1056,align1=0,align2=33: 52.34 (0.00%) 53.12 (-1.49%) 52.34
length=1056,align1=33,align2=33: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1088,align1=0,align2=0: 46.88 (-1.69%) 46.09 (0.00%) 46.09
length=1088,align1=34,align2=0: 52.34 (0.00%) 52.34 (0.00%) 52.34
length=1088,align1=0,align2=34: 53.12 (-3.03%) 53.12 (-3.03%) 51.56
length=1088,align1=34,align2=34: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1120,align1=0,align2=0: 49.22 (-1.61%) 48.44 (0.00%) 48.44
length=1120,align1=35,align2=0: 54.69 (1.41%) 55.47 (0.00%) 55.47
length=1120,align1=0,align2=35: 57.03 (0.00%) 55.47 (2.74%) 57.03
length=1120,align1=35,align2=35: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1152,align1=0,align2=0: 47.66 (1.61%) 48.44 (0.00%) 48.44
length=1152,align1=36,align2=0: 55.47 (-1.43%) 55.47 (-1.43%) 54.69
length=1152,align1=0,align2=36: 58.59 (-1.35%) 55.47 (4.05%) 57.81
length=1152,align1=36,align2=36: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1184,align1=0,align2=0: 53.12 (-3.03%) 50.78 (1.52%) 51.56
length=1184,align1=37,align2=0: 61.72 (-2.60%) 57.03 (5.19%) 60.16
length=1184,align1=0,align2=37: 62.50 (-1.27%) 57.03 (7.60%) 61.72
length=1184,align1=37,align2=37: 53.12 (-1.49%) 50.78 (2.99%) 52.34
length=1216,align1=0,align2=0: 53.91 (-4.55%) 50.78 (1.52%) 51.56
length=1216,align1=38,align2=0: 60.94 (0.00%) 57.03 (6.41%) 60.94
length=1216,align1=0,align2=38: 60.16 (0.00%) 57.81 (3.90%) 60.16
length=1216,align1=38,align2=38: 52.34 (-1.52%) 50.00 (3.03%) 51.56
length=1248,align1=0,align2=0: 54.69 (-2.94%) 53.12 (0.00%) 53.12
length=1248,align1=39,align2=0: 64.06 (-1.23%) 60.16 (4.94%) 63.28
length=1248,align1=0,align2=39: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1248,align1=39,align2=39: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1280,align1=0,align2=0: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1280,align1=40,align2=0: 61.72 (3.66%) 59.38 (7.32%) 64.06
length=1280,align1=0,align2=40: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1280,align1=40,align2=40: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1312,align1=0,align2=0: 54.69 (-1.45%) 55.47 (-2.90%) 53.91
length=1312,align1=41,align2=0: 63.28 (0.00%) 62.50 (1.23%) 63.28
length=1312,align1=0,align2=41: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1312,align1=41,align2=41: 53.91 (0.00%) 54.69 (-1.45%) 53.91
length=1344,align1=0,align2=0: 54.69 (0.00%) 54.69 (0.00%) 54.69
length=1344,align1=42,align2=0: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1344,align1=0,align2=42: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1344,align1=42,align2=42: 53.91 (0.00%) 53.91 (0.00%) 53.91
length=1376,align1=0,align2=0: 65.62 (-16.67%) 68.75 (-22.22%) 56.25
length=1376,align1=43,align2=0: 71.88 (-9.52%) 73.44 (-11.90%) 65.62
length=1376,align1=0,align2=43: 72.66 (-12.05%) 74.22 (-14.46%) 64.84
length=1376,align1=43,align2=43: 64.06 (-13.89%) 67.97 (-20.83%) 56.25
length=1408,align1=0,align2=0: 57.03 (-1.39%) 68.75 (-22.22%) 56.25
length=1408,align1=44,align2=0: 65.62 (-1.20%) 73.44 (-13.25%) 64.84
length=1408,align1=0,align2=44: 64.84 (0.00%) 74.22 (-14.46%) 64.84
length=1408,align1=44,align2=44: 56.25 (-1.41%) 68.75 (-23.94%) 55.47
length=1440,align1=0,align2=0: 67.97 (-14.47%) 64.84 (-9.21%) 59.38
length=1440,align1=45,align2=0: 74.22 (-10.47%) 68.75 (-2.33%) 67.19
length=1440,align1=0,align2=45: 72.66 (-6.90%) 69.53 (-2.30%) 67.97
length=1440,align1=45,align2=45: 65.62 (-13.51%) 58.59 (-1.35%) 57.81
length=1472,align1=0,align2=0: 66.41 (-14.86%) 58.59 (-1.35%) 57.81
length=1472,align1=46,align2=0: 73.44 (-9.30%) 67.19 (0.00%) 67.19
length=1472,align1=0,align2=46: 70.31 (-4.65%) 67.97 (-1.16%) 67.19
length=1472,align1=46,align2=46: 57.81 (0.00%) 58.59 (-1.35%) 57.81
length=1504,align1=0,align2=0: 60.94 (0.00%) 60.94 (0.00%) 60.94
length=1504,align1=47,align2=0: 71.09 (-1.11%) 70.31 (0.00%) 70.31
length=1504,align1=0,align2=47: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1504,align1=47,align2=47: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=0: 62.50 (-3.90%) 60.16 (0.00%) 60.16
length=1536,align1=48,align2=0: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=48: 61.72 (-3.95%) 60.16 (-1.32%) 59.38
length=1536,align1=48,align2=48: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1568,align1=0,align2=0: 80.47 (-27.16%) 63.28 (0.00%) 63.28
length=1568,align1=49,align2=0: 86.72 (-18.09%) 72.66 (1.06%) 73.44
length=1568,align1=0,align2=49: 74.22 (-3.26%) 74.22 (-3.26%) 71.88
length=1568,align1=49,align2=49: 62.50 (0.00%) 61.72 (1.25%) 62.50
length=1600,align1=0,align2=0: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1600,align1=50,align2=0: 73.44 (0.00%) 71.88 (2.13%) 73.44
length=1600,align1=0,align2=50: 72.66 (0.00%) 73.44 (-1.08%) 72.66
length=1600,align1=50,align2=50: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1632,align1=0,align2=0: 64.84 (0.00%) 64.84 (0.00%) 64.84
length=1632,align1=51,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1632,align1=0,align2=51: 78.91 (0.00%) 75.78 (3.96%) 78.91
length=1632,align1=51,align2=51: 64.84 (-2.47%) 64.84 (-2.47%) 63.28
length=1664,align1=0,align2=0: 64.84 (-1.22%) 64.84 (-1.22%) 64.06
length=1664,align1=52,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1664,align1=0,align2=52: 80.47 (-0.98%) 75.78 (4.90%) 79.69
length=1664,align1=52,align2=52: 64.06 (-1.23%) 65.62 (-3.70%) 63.28
length=1696,align1=0,align2=0: 69.53 (-3.49%) 72.66 (-8.14%) 67.19
length=1696,align1=53,align2=0: 80.47 (-0.98%) 82.03 (-2.94%) 79.69
length=1696,align1=0,align2=53: 80.47 (0.96%) 82.03 (-0.96%) 81.25
length=1696,align1=53,align2=53: 68.75 (-2.33%) 72.66 (-8.14%) 67.19
length=1728,align1=0,align2=0: 67.97 (0.00%) 72.66 (-6.90%) 67.97
length=1728,align1=54,align2=0: 80.47 (-0.98%) 82.81 (-3.92%) 79.69
length=1728,align1=0,align2=54: 78.91 (-1.00%) 82.03 (-5.00%) 78.12
length=1728,align1=54,align2=54: 68.75 (0.00%) 72.66 (-5.68%) 68.75
length=1760,align1=0,align2=0: 77.34 (-12.50%) 68.75 (0.00%) 68.75
length=1760,align1=55,align2=0: 91.41 (-8.33%) 79.69 (5.56%) 84.38
length=1760,align1=0,align2=55: 88.28 (-10.78%) 80.47 (-0.98%) 79.69
length=1760,align1=55,align2=55: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1792,align1=0,align2=0: 78.12 (-14.94%) 68.75 (-1.15%) 67.97
length=1792,align1=56,align2=0: 88.28 (-4.63%) 79.69 (5.56%) 84.38
length=1792,align1=0,align2=56: 88.28 (-9.71%) 80.47 (0.00%) 80.47
length=1792,align1=56,align2=56: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1824,align1=0,align2=0: 72.66 (7.92%) 70.31 (10.89%) 78.91
length=1824,align1=57,align2=0: 85.94 (5.17%) 82.03 (9.48%) 90.62
length=1824,align1=0,align2=57: 82.03 (3.67%) 82.81 (2.75%) 85.16
length=1824,align1=57,align2=57: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=0,align2=0: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=58,align2=0: 83.59 (-0.94%) 82.03 (0.94%) 82.81
length=1856,align1=0,align2=58: 178.12 (-115.09%) 82.81 (0.00%) 82.81
length=1856,align1=58,align2=58: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1888,align1=0,align2=0: 73.44 (-1.08%) 78.91 (-8.60%) 72.66
length=1888,align1=59,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1888,align1=0,align2=59: 84.38 (0.00%) 89.06 (-5.56%) 84.38
length=1888,align1=59,align2=59: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=0,align2=0: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=60,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1920,align1=0,align2=60: 85.16 (0.00%) 89.06 (-4.59%) 85.16
length=1920,align1=60,align2=60: 72.66 (-1.09%) 78.91 (-9.78%) 71.88
length=1952,align1=0,align2=0: 75.00 (-1.05%) 75.00 (-1.05%) 74.22
length=1952,align1=61,align2=0: 88.28 (0.00%) 87.50 (0.88%) 88.28
length=1952,align1=0,align2=61: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1952,align1=61,align2=61: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=1984,align1=0,align2=0: 75.00 (-1.05%) 73.44 (1.05%) 74.22
length=1984,align1=62,align2=0: 89.06 (-0.89%) 87.50 (0.88%) 88.28
length=1984,align1=0,align2=62: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1984,align1=62,align2=62: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=2016,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2016,align1=63,align2=0: 91.41 (-0.86%) 90.62 (0.00%) 90.62
length=2016,align1=0,align2=63: 89.84 (0.00%) 90.62 (-0.87%) 89.84
length=2016,align1=63,align2=63: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=4096,align1=0,align2=0: 141.41 (-0.56%) 146.88 (-4.44%) 140.62
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: large
================================================================================
length=65543,align1=0,align2=0: 4018.75 (3.09%) 2634.38 (36.47%) 4146.88
length=65551,align1=0,align2=3: 4425.00 (-6.47%) 3134.38 (24.59%) 4156.25
length=65567,align1=3,align2=0: 2909.38 (29.95%) 3134.38 (24.53%) 4153.12
length=65599,align1=3,align2=5: 4415.62 (-6.16%) 3134.38 (24.64%) 4159.38
length=131079,align1=0,align2=0: 5765.62 (30.38%) 5240.62 (36.72%) 8281.25
length=131087,align1=0,align2=3: 8831.25 (-6.56%) 6271.88 (24.32%) 8287.50
length=131103,align1=3,align2=0: 5793.75 (29.05%) 6268.75 (23.23%) 8165.62
length=131135,align1=3,align2=5: 5806.25 (29.97%) 6259.38 (24.50%) 8290.62
length=262151,align1=0,align2=0: 11850.00 (28.91%) 10762.50 (35.43%) 16668.80
length=262159,align1=0,align2=3: 12043.80 (27.72%) 12700.00 (23.78%) 16662.50
length=262175,align1=3,align2=0: 12046.90 (27.90%) 12687.50 (24.07%) 16709.40
length=262207,align1=3,align2=5: 11984.40 (28.08%) 12678.10 (23.91%) 16662.50
length=524295,align1=0,align2=0: 24825.00 (25.00%) 24268.80 (27.34%) 33400.00
length=524303,align1=0,align2=3: 35731.20 (-6.53%) 25678.10 (23.44%) 33540.60
length=524319,align1=3,align2=0: 25893.80 (22.71%) 25725.00 (23.22%) 33503.10
length=524351,align1=3,align2=5: 25887.50 (22.86%) 25690.60 (23.45%) 33559.40
length=1048583,align1=0,align2=0: 50621.90 (0.30%) 50600.00 (0.34%) 50771.90
length=1048591,align1=0,align2=3: 53206.20 (0.54%) 51081.20 (4.51%) 53493.80
length=1048607,align1=3,align2=0: 53221.90 (0.32%) 51975.00 (2.66%) 53393.80
length=1048639,align1=3,align2=5: 53240.60 (0.36%) 51953.10 (2.77%) 53431.20
length=2097159,align1=0,align2=0: 103744.00 (-2.00%) 102447.00 (-1.00%) 102425.00
length=2097167,align1=0,align2=3: 108588.00 (-1.00%) 105159.00 (2.00%) 107606.00
length=2097183,align1=3,align2=0: 107678.00 (0.00%) 105250.00 (2.00%) 108125.00
length=2097215,align1=3,align2=5: 107906.00 (1.00%) 105841.00 (3.00%) 109475.00
length=4194311,align1=0,align2=0: 202994.00 (0.00%) 202500.00 (1.00%) 204809.00
length=4194319,align1=0,align2=3: 213350.00 (0.00%) 205997.00 (3.00%) 213384.00
length=4194335,align1=3,align2=0: 212653.00 (0.00%) 206444.00 (3.00%) 212900.00
length=4194367,align1=3,align2=5: 213044.00 (0.00%) 206084.00 (3.00%) 213847.00
length=8388615,align1=0,align2=0: 401294.00 (0.00%) 401231.00 (0.00%) 401944.00
length=8388623,align1=0,align2=3: 480872.00 (-14.00%) 406444.00 (3.00%) 422900.00
length=8388639,align1=3,align2=0: 422147.00 (0.00%) 407750.00 (3.00%) 422803.00
length=8388671,align1=3,align2=5: 442003.00 (-5.00%) 407125.00 (3.00%) 423509.00
length=16777223,align1=0,align2=0: 799809.00 (0.00%) 800000.00 (0.00%) 801756.00
length=16777231,align1=0,align2=3: 841184.00 (0.00%) 808525.00 (4.00%) 843775.00
length=16777247,align1=3,align2=0: 841166.00 (0.00%) 810147.00 (3.00%) 843147.00
length=16777279,align1=3,align2=5: 972569.00 (-16.00%) 808588.00 (4.00%) 843731.00
length=33554439,align1=0,align2=0: 1842240.00 (-0.01%) 1863590.00 (-1.17%) 1841990.00
length=33554447,align1=0,align2=3: 2103470.00 (-2.74%) 1919460.00 (6.25%) 2047440.00
length=33554463,align1=3,align2=0: 2075690.00 (-1.07%) 1930040.00 (6.02%) 2053720.00
length=33554495,align1=3,align2=5: 2110590.00 (-2.82%) 1924440.00 (6.25%) 2052650.00
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: random
================================================================================
max-size=4096: 44061.90 (5.85%) 38568.20 (17.59%) 46799.90
max-size=8192: 42790.90 (5.27%) 38158.90 (15.52%) 45171.50
max-size=16384: 44912.10 (2.25%) 38710.40 (15.75%) 45945.00
max-size=32768: 43577.90 (1.23%) 37975.10 (13.93%) 44120.00
max-size=65536: 44375.50 (1.04%) 38474.20 (14.20%) 44840.60
* manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
* sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
memcpy_falkor.
* sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
Bump.
(__libc_ifunc_impl_list): Add __memcpy_falkor.
* sysdeps/aarch64/multiarch/memcpy.c: Likewise.
* sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
Add falkor.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
New macro.
2017-08-09 03:02:17 +02:00
|
|
|
2017-08-09 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
2017-08-09 09:27:17 +02:00
|
|
|
* sysdeps/aarch64/multiarch/memcpy_falkor.S: Fix code style in
|
|
|
|
comments.
|
|
|
|
|
aarch64: Optimized memcpy for Qualcomm Falkor processor
This is an optimized implementation of the memcpy routine that gives a
significant gain in performance for all sizes of copies on the
Qualcomm Falkor processor. A detailed rationale of the implementation
is written in a comment in the patch.
This implementation improves time for copies up to 128 bytes by up to
15% and for larger copies by up to 35% in the glibc
microbenchmark. The memcpy-random benchmark sees improvements in all
sizes in the range of 13%-18%.
Here are the full numbers extracted from the glibc microbenchmark
using the commands:
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-large.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic length align1 align2
../benchtests/scripts/compare_strings.py benchtests/bench-memcpy-random.out \
../benchtests/scripts/benchout_strings.schema.json \
-base=__memcpy_generic max-size
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: default
================================================================================
length=1,align1=0,align2=0: 33.59 (-115.00%) 15.62 (0.00%) 15.62
length=1,align1=0,align2=0: 16.41 (-10.53%) 14.06 (5.26%) 14.84
length=1,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=0: 15.62 (-5.26%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=1,align2=1: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=4,align1=0,align2=2: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=4,align1=2,align2=2: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=8,align1=0,align2=0: 14.84 (-5.56%) 13.28 (5.56%) 14.06
length=8,align1=3,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=3: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=3,align2=3: 13.28 (-6.25%) 13.28 (-6.25%) 12.50
length=16,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=16,align1=0,align2=4: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=16,align1=4,align2=4: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=32,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=32,align1=5,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=32,align1=0,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=32,align1=5,align2=5: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=64,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=64,align1=6,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=64,align1=0,align2=6: 14.06 (5.26%) 14.06 (5.26%) 14.84
length=64,align1=6,align2=6: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=128,align1=0,align2=0: 17.19 (-4.76%) 14.84 (9.52%) 16.41
length=128,align1=7,align2=0: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=128,align1=0,align2=7: 16.41 (0.00%) 14.06 (14.29%) 16.41
length=128,align1=7,align2=7: 16.41 (4.55%) 15.62 (9.09%) 17.19
length=256,align1=0,align2=0: 21.88 (-3.70%) 21.09 (0.00%) 21.09
length=256,align1=8,align2=0: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=256,align1=0,align2=8: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=256,align1=8,align2=8: 21.88 (-7.69%) 20.31 (0.00%) 20.31
length=512,align1=0,align2=0: 28.91 (-2.78%) 28.91 (-2.78%) 28.12
length=512,align1=9,align2=0: 30.47 (-2.63%) 30.47 (-2.63%) 29.69
length=512,align1=0,align2=9: 29.69 (0.00%) 29.69 (0.00%) 29.69
length=512,align1=9,align2=9: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=10,align2=0: 50.00 (0.00%) 50.00 (0.00%) 50.00
length=1024,align1=0,align2=10: 49.22 (1.56%) 50.78 (-1.56%) 50.00
length=1024,align1=10,align2=10: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=2048,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2048,align1=11,align2=0: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=0,align2=11: 89.84 (0.00%) 89.84 (0.00%) 89.84
length=2048,align1=11,align2=11: 75.78 (0.00%) 75.78 (0.00%) 75.78
length=4096,align1=0,align2=0: 141.41 (-0.56%) 140.62 (0.00%) 140.62
length=4096,align1=12,align2=0: 171.09 (-0.46%) 170.31 (0.00%) 170.31
length=4096,align1=0,align2=12: 170.31 (0.00%) 170.31 (0.00%) 170.31
length=4096,align1=12,align2=12: 140.62 (0.00%) 140.62 (0.00%) 140.62
length=8192,align1=0,align2=0: 278.91 (-0.28%) 275.78 (0.84%) 278.12
length=8192,align1=13,align2=0: 338.28 (0.23%) 335.94 (0.92%) 339.06
length=8192,align1=0,align2=13: 338.28 (0.00%) 455.47 (-34.64%) 338.28
length=8192,align1=13,align2=13: 278.12 (-0.28%) 275.78 (0.56%) 277.34
length=16384,align1=0,align2=0: 535.94 (-0.15%) 531.25 (0.73%) 535.16
length=16384,align1=14,align2=0: 659.38 (0.12%) 659.38 (0.12%) 660.16
length=16384,align1=0,align2=14: 659.38 (0.00%) 657.03 (0.36%) 659.38
length=16384,align1=14,align2=14: 535.16 (0.44%) 532.81 (0.87%) 537.50
length=32768,align1=0,align2=0: 1260.94 (10.68%) 1121.88 (20.53%) 1411.72
length=32768,align1=15,align2=0: 1368.75 (10.02%) 1376.56 (9.50%) 1521.09
length=32768,align1=0,align2=15: 1333.59 (10.91%) 1373.44 (8.25%) 1496.88
length=32768,align1=15,align2=15: 1256.25 (13.96%) 1125.78 (22.90%) 1460.16
length=65536,align1=0,align2=0: 2853.91 (30.11%) 2589.06 (36.60%) 4083.59
length=65536,align1=16,align2=0: 2850.00 (30.14%) 2589.84 (36.52%) 4079.69
length=65536,align1=0,align2=16: 2853.12 (30.60%) 2589.84 (37.00%) 4110.94
length=65536,align1=16,align2=16: 2850.78 (30.07%) 2589.06 (36.49%) 4076.56
length=0,align1=0,align2=0: 15.62 (-5.26%) 16.41 (-10.53%) 14.84
length=0,align1=0,align2=0: 14.84 (-5.56%) 14.84 (-5.56%) 14.06
length=0,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=0,align1=0,align2=0: 16.41 (-16.67%) 14.84 (-5.56%) 14.06
length=1,align1=0,align2=0: 15.62 (4.76%) 15.62 (4.76%) 16.41
length=1,align1=1,align2=0: 15.62 (0.00%) 14.84 (5.00%) 15.62
length=1,align1=0,align2=1: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=1,align1=1,align2=1: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=2,align2=0: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=2,align1=0,align2=2: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=2,align1=2,align2=2: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=3,align1=0,align2=0: 14.84 (0.00%) 14.84 (0.00%) 14.84
length=3,align1=3,align2=0: 14.84 (-5.56%) 14.06 (0.00%) 14.06
length=3,align1=0,align2=3: 15.62 (-11.11%) 14.06 (0.00%) 14.06
length=3,align1=3,align2=3: 14.84 (0.00%) 14.06 (5.26%) 14.84
length=4,align1=0,align2=0: 17.97 (-27.78%) 14.06 (0.00%) 14.06
length=4,align1=4,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=4,align1=0,align2=4: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=4,align1=4,align2=4: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=0,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=5,align1=0,align2=5: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=5,align1=5,align2=5: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=0,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=6,align1=6,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=6,align1=0,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=6,align1=6,align2=6: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=7,align1=0,align2=0: 14.84 (-11.77%) 14.06 (-5.88%) 13.28
length=7,align1=7,align2=0: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=7,align1=0,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=7,align1=7,align2=7: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=8,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=8,align1=0,align2=8: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=8,align1=8,align2=8: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=9,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=9,align1=0,align2=9: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=9,align1=9,align2=9: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=0,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=10,align1=10,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=10,align1=0,align2=10: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=10,align1=10,align2=10: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=11,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=11,align1=0,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=11,align1=11,align2=11: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=0,align2=12: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=12,align1=12,align2=12: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=13,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=0,align2=13: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=13,align1=13,align2=13: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=0,align2=0: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=0: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=14,align1=0,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=14,align1=14,align2=14: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=0: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=15,align1=0,align2=15: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=15,align1=15,align2=15: 13.28 (0.00%) 14.06 (-5.88%) 13.28
length=16,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=0: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=16,align1=0,align2=16: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=16,align1=16,align2=16: 13.28 (-6.25%) 12.50 (0.00%) 12.50
length=17,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=17,align1=17,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=17,align1=0,align2=17: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=17,align1=17,align2=17: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=18,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=18,align1=18,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=18,align1=0,align2=18: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=18,align1=18,align2=18: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=19,align1=0,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=19,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=19,align1=0,align2=19: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=19,align1=19,align2=19: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=0,align2=0: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=20,align1=0,align2=20: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=20,align1=20,align2=20: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=21,align1=0,align2=0: 14.84 (-5.56%) 12.50 (11.11%) 14.06
length=21,align1=21,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=21,align1=0,align2=21: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=21,align1=21,align2=21: 13.28 (5.56%) 13.28 (5.56%) 14.06
length=22,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=22,align1=22,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=22,align1=0,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=22,align1=22,align2=22: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=23,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=0: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=23,align1=0,align2=23: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=23,align1=23,align2=23: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=24,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=24,align1=0,align2=24: 14.84 (-11.77%) 12.50 (5.88%) 13.28
length=24,align1=24,align2=24: 14.06 (-5.88%) 13.28 (0.00%) 13.28
length=25,align1=0,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=25,align1=0,align2=25: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=25,align1=25,align2=25: 13.28 (0.00%) 13.28 (0.00%) 13.28
length=26,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=0: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=26,align1=0,align2=26: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=26,align1=26,align2=26: 14.06 (0.00%) 13.28 (5.56%) 14.06
length=27,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=0,align2=27: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=27,align1=27,align2=27: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=28,align1=28,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=0,align2=28: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=28,align1=28,align2=28: 14.84 (-11.77%) 13.28 (0.00%) 13.28
length=29,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=29,align1=29,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=29,align1=0,align2=29: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=29,align1=29,align2=29: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=0: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=0: 13.28 (5.56%) 12.50 (11.11%) 14.06
length=30,align1=0,align2=30: 14.06 (-5.88%) 12.50 (5.88%) 13.28
length=30,align1=30,align2=30: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=0,align2=0: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=0: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=31,align1=0,align2=31: 13.28 (0.00%) 12.50 (5.88%) 13.28
length=31,align1=31,align2=31: 14.06 (0.00%) 12.50 (11.11%) 14.06
length=48,align1=0,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=3,align2=0: 14.06 (0.00%) 14.06 (0.00%) 14.06
length=48,align1=0,align2=3: 14.06 (-5.88%) 14.06 (-5.88%) 13.28
length=48,align1=3,align2=3: 13.28 (5.56%) 14.06 (0.00%) 14.06
length=80,align1=0,align2=0: 15.62 (-11.11%) 14.84 (-5.56%) 14.06
length=80,align1=5,align2=0: 15.62 (-11.11%) 16.41 (-16.67%) 14.06
length=80,align1=0,align2=5: 14.06 (0.00%) 15.62 (-11.11%) 14.06
length=80,align1=5,align2=5: 15.62 (-5.26%) 17.19 (-15.79%) 14.84
length=96,align1=0,align2=0: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=0: 14.84 (-5.56%) 16.41 (-16.67%) 14.06
length=96,align1=0,align2=6: 14.06 (0.00%) 14.84 (-5.56%) 14.06
length=96,align1=6,align2=6: 14.84 (-5.56%) 17.19 (-22.22%) 14.06
length=112,align1=0,align2=0: 17.19 (-4.76%) 14.06 (14.29%) 16.41
length=112,align1=7,align2=0: 17.19 (0.00%) 16.41 (4.55%) 17.19
length=112,align1=0,align2=7: 16.41 (0.00%) 14.84 (9.52%) 16.41
length=112,align1=7,align2=7: 17.19 (0.00%) 17.19 (0.00%) 17.19
length=144,align1=0,align2=0: 17.19 (-10.00%) 17.97 (-15.00%) 15.62
length=144,align1=9,align2=0: 17.19 (-4.76%) 18.75 (-14.29%) 16.41
length=144,align1=0,align2=9: 20.31 (-8.33%) 18.75 (0.00%) 18.75
length=144,align1=9,align2=9: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=160,align1=0,align2=0: 18.75 (-4.35%) 17.97 (0.00%) 17.97
length=160,align1=10,align2=0: 18.75 (4.00%) 18.75 (4.00%) 19.53
length=160,align1=0,align2=10: 19.53 (-4.17%) 17.97 (4.17%) 18.75
length=160,align1=10,align2=10: 18.75 (-4.35%) 18.75 (-4.35%) 17.97
length=176,align1=0,align2=0: 18.75 (-4.35%) 17.19 (4.35%) 17.97
length=176,align1=11,align2=0: 19.53 (0.00%) 19.53 (0.00%) 19.53
length=176,align1=0,align2=11: 19.53 (-4.17%) 18.75 (0.00%) 18.75
length=176,align1=11,align2=11: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=0,align2=0: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=192,align1=12,align2=0: 21.09 (-8.00%) 18.75 (4.00%) 19.53
length=192,align1=0,align2=12: 18.75 (0.00%) 18.75 (0.00%) 18.75
length=192,align1=12,align2=12: 18.75 (0.00%) 17.97 (4.17%) 18.75
length=208,align1=0,align2=0: 17.97 (0.00%) 20.31 (-13.04%) 17.97
length=208,align1=13,align2=0: 19.53 (7.41%) 21.09 (0.00%) 21.09
length=208,align1=0,align2=13: 23.44 (-11.11%) 21.09 (0.00%) 21.09
length=208,align1=13,align2=13: 21.09 (-3.85%) 21.09 (-3.85%) 20.31
length=224,align1=0,align2=0: 21.09 (-8.00%) 20.31 (-4.00%) 19.53
length=224,align1=14,align2=0: 23.44 (-11.11%) 20.31 (3.70%) 21.09
length=224,align1=0,align2=14: 21.09 (3.57%) 20.31 (7.14%) 21.88
length=224,align1=14,align2=14: 20.31 (0.00%) 19.53 (3.85%) 20.31
length=240,align1=0,align2=0: 20.31 (-4.00%) 19.53 (0.00%) 19.53
length=240,align1=15,align2=0: 22.66 (0.00%) 20.31 (10.34%) 22.66
length=240,align1=0,align2=15: 20.31 (-4.00%) 20.31 (-4.00%) 19.53
length=240,align1=15,align2=15: 21.88 (0.00%) 21.09 (3.57%) 21.88
length=272,align1=0,align2=0: 20.31 (0.00%) 28.12 (-38.46%) 20.31
length=272,align1=17,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=272,align1=0,align2=17: 25.78 (-10.00%) 28.12 (-20.00%) 23.44
length=272,align1=17,align2=17: 22.66 (-3.57%) 27.34 (-25.00%) 21.88
length=288,align1=0,align2=0: 23.44 (-7.14%) 27.34 (-25.00%) 21.88
length=288,align1=18,align2=0: 22.66 (0.00%) 27.34 (-20.69%) 22.66
length=288,align1=0,align2=18: 23.44 (-3.45%) 25.00 (-10.35%) 22.66
length=288,align1=18,align2=18: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=304,align1=0,align2=0: 21.88 (0.00%) 21.88 (0.00%) 21.88
length=304,align1=19,align2=0: 23.44 (-3.45%) 22.66 (0.00%) 22.66
length=304,align1=0,align2=19: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=304,align1=19,align2=19: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=0,align2=0: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=320,align1=20,align2=0: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=0,align2=20: 22.66 (0.00%) 22.66 (0.00%) 22.66
length=320,align1=20,align2=20: 22.66 (-3.57%) 21.88 (0.00%) 21.88
length=336,align1=0,align2=0: 21.88 (0.00%) 24.22 (-10.71%) 21.88
length=336,align1=21,align2=0: 22.66 (0.00%) 25.00 (-10.35%) 22.66
length=336,align1=0,align2=21: 25.78 (0.00%) 25.00 (3.03%) 25.78
length=336,align1=21,align2=21: 25.00 (0.00%) 23.44 (6.25%) 25.00
length=352,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=352,align1=22,align2=0: 25.00 (0.00%) 25.00 (0.00%) 25.00
length=352,align1=0,align2=22: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=352,align1=22,align2=22: 25.00 (-3.23%) 24.22 (0.00%) 24.22
length=368,align1=0,align2=0: 25.00 (-3.23%) 23.44 (3.23%) 24.22
length=368,align1=23,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=368,align1=0,align2=23: 25.00 (-3.23%) 25.00 (-3.23%) 24.22
length=368,align1=23,align2=23: 25.00 (-6.67%) 23.44 (0.00%) 23.44
length=384,align1=0,align2=0: 24.22 (0.00%) 24.22 (0.00%) 24.22
length=384,align1=24,align2=0: 25.00 (0.00%) 24.22 (3.12%) 25.00
length=384,align1=0,align2=24: 25.00 (0.00%) 25.78 (-3.12%) 25.00
length=384,align1=24,align2=24: 24.22 (-3.33%) 23.44 (0.00%) 23.44
length=400,align1=0,align2=0: 25.00 (-3.23%) 26.56 (-9.68%) 24.22
length=400,align1=25,align2=0: 25.78 (-3.12%) 27.34 (-9.38%) 25.00
length=400,align1=0,align2=25: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=400,align1=25,align2=25: 26.56 (0.00%) 25.78 (2.94%) 26.56
length=416,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=416,align1=26,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=416,align1=0,align2=26: 27.34 (-2.94%) 28.12 (-5.88%) 26.56
length=416,align1=26,align2=26: 25.78 (0.00%) 26.56 (-3.03%) 25.78
length=432,align1=0,align2=0: 27.34 (-2.94%) 25.78 (2.94%) 26.56
length=432,align1=27,align2=0: 28.12 (-2.86%) 27.34 (0.00%) 27.34
length=432,align1=0,align2=27: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=432,align1=27,align2=27: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=448,align1=0,align2=0: 26.56 (-3.03%) 25.78 (0.00%) 25.78
length=448,align1=28,align2=0: 27.34 (0.00%) 27.34 (0.00%) 27.34
length=448,align1=0,align2=28: 27.34 (0.00%) 28.12 (-2.86%) 27.34
length=448,align1=28,align2=28: 25.78 (0.00%) 25.78 (0.00%) 25.78
length=464,align1=0,align2=0: 25.78 (0.00%) 28.12 (-9.09%) 25.78
length=464,align1=29,align2=0: 28.12 (-2.86%) 29.69 (-8.57%) 27.34
length=464,align1=0,align2=29: 30.47 (0.00%) 30.47 (0.00%) 30.47
length=464,align1=29,align2=29: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=480,align1=0,align2=0: 29.69 (-5.56%) 28.12 (0.00%) 28.12
length=480,align1=30,align2=0: 31.25 (-2.56%) 29.69 (2.56%) 30.47
length=480,align1=0,align2=30: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=480,align1=30,align2=30: 28.12 (0.00%) 28.12 (0.00%) 28.12
length=496,align1=0,align2=0: 28.12 (0.00%) 27.34 (2.78%) 28.12
length=496,align1=31,align2=0: 30.47 (-2.63%) 29.69 (0.00%) 29.69
length=496,align1=0,align2=31: 29.69 (0.00%) 30.47 (-2.63%) 29.69
length=496,align1=31,align2=31: 28.12 (-2.86%) 28.12 (-2.86%) 27.34
length=1024,align1=0,align2=0: 44.53 (0.00%) 44.53 (0.00%) 44.53
length=1024,align1=32,align2=0: 44.53 (-1.79%) 44.53 (-1.79%) 43.75
length=1024,align1=0,align2=32: 44.53 (-1.79%) 43.75 (0.00%) 43.75
length=1024,align1=32,align2=32: 43.75 (1.75%) 43.75 (1.75%) 44.53
length=1056,align1=0,align2=0: 46.88 (-1.69%) 46.88 (-1.69%) 46.09
length=1056,align1=33,align2=0: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1056,align1=0,align2=33: 52.34 (0.00%) 53.12 (-1.49%) 52.34
length=1056,align1=33,align2=33: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1088,align1=0,align2=0: 46.88 (-1.69%) 46.09 (0.00%) 46.09
length=1088,align1=34,align2=0: 52.34 (0.00%) 52.34 (0.00%) 52.34
length=1088,align1=0,align2=34: 53.12 (-3.03%) 53.12 (-3.03%) 51.56
length=1088,align1=34,align2=34: 46.09 (0.00%) 46.88 (-1.69%) 46.09
length=1120,align1=0,align2=0: 49.22 (-1.61%) 48.44 (0.00%) 48.44
length=1120,align1=35,align2=0: 54.69 (1.41%) 55.47 (0.00%) 55.47
length=1120,align1=0,align2=35: 57.03 (0.00%) 55.47 (2.74%) 57.03
length=1120,align1=35,align2=35: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1152,align1=0,align2=0: 47.66 (1.61%) 48.44 (0.00%) 48.44
length=1152,align1=36,align2=0: 55.47 (-1.43%) 55.47 (-1.43%) 54.69
length=1152,align1=0,align2=36: 58.59 (-1.35%) 55.47 (4.05%) 57.81
length=1152,align1=36,align2=36: 48.44 (0.00%) 49.22 (-1.61%) 48.44
length=1184,align1=0,align2=0: 53.12 (-3.03%) 50.78 (1.52%) 51.56
length=1184,align1=37,align2=0: 61.72 (-2.60%) 57.03 (5.19%) 60.16
length=1184,align1=0,align2=37: 62.50 (-1.27%) 57.03 (7.60%) 61.72
length=1184,align1=37,align2=37: 53.12 (-1.49%) 50.78 (2.99%) 52.34
length=1216,align1=0,align2=0: 53.91 (-4.55%) 50.78 (1.52%) 51.56
length=1216,align1=38,align2=0: 60.94 (0.00%) 57.03 (6.41%) 60.94
length=1216,align1=0,align2=38: 60.16 (0.00%) 57.81 (3.90%) 60.16
length=1216,align1=38,align2=38: 52.34 (-1.52%) 50.00 (3.03%) 51.56
length=1248,align1=0,align2=0: 54.69 (-2.94%) 53.12 (0.00%) 53.12
length=1248,align1=39,align2=0: 64.06 (-1.23%) 60.16 (4.94%) 63.28
length=1248,align1=0,align2=39: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1248,align1=39,align2=39: 53.12 (0.00%) 52.34 (1.47%) 53.12
length=1280,align1=0,align2=0: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1280,align1=40,align2=0: 61.72 (3.66%) 59.38 (7.32%) 64.06
length=1280,align1=0,align2=40: 60.94 (-2.63%) 60.16 (-1.32%) 59.38
length=1280,align1=40,align2=40: 52.34 (-1.52%) 52.34 (-1.52%) 51.56
length=1312,align1=0,align2=0: 54.69 (-1.45%) 55.47 (-2.90%) 53.91
length=1312,align1=41,align2=0: 63.28 (0.00%) 62.50 (1.23%) 63.28
length=1312,align1=0,align2=41: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1312,align1=41,align2=41: 53.91 (0.00%) 54.69 (-1.45%) 53.91
length=1344,align1=0,align2=0: 54.69 (0.00%) 54.69 (0.00%) 54.69
length=1344,align1=42,align2=0: 62.50 (0.00%) 62.50 (0.00%) 62.50
length=1344,align1=0,align2=42: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1344,align1=42,align2=42: 53.91 (0.00%) 53.91 (0.00%) 53.91
length=1376,align1=0,align2=0: 65.62 (-16.67%) 68.75 (-22.22%) 56.25
length=1376,align1=43,align2=0: 71.88 (-9.52%) 73.44 (-11.90%) 65.62
length=1376,align1=0,align2=43: 72.66 (-12.05%) 74.22 (-14.46%) 64.84
length=1376,align1=43,align2=43: 64.06 (-13.89%) 67.97 (-20.83%) 56.25
length=1408,align1=0,align2=0: 57.03 (-1.39%) 68.75 (-22.22%) 56.25
length=1408,align1=44,align2=0: 65.62 (-1.20%) 73.44 (-13.25%) 64.84
length=1408,align1=0,align2=44: 64.84 (0.00%) 74.22 (-14.46%) 64.84
length=1408,align1=44,align2=44: 56.25 (-1.41%) 68.75 (-23.94%) 55.47
length=1440,align1=0,align2=0: 67.97 (-14.47%) 64.84 (-9.21%) 59.38
length=1440,align1=45,align2=0: 74.22 (-10.47%) 68.75 (-2.33%) 67.19
length=1440,align1=0,align2=45: 72.66 (-6.90%) 69.53 (-2.30%) 67.97
length=1440,align1=45,align2=45: 65.62 (-13.51%) 58.59 (-1.35%) 57.81
length=1472,align1=0,align2=0: 66.41 (-14.86%) 58.59 (-1.35%) 57.81
length=1472,align1=46,align2=0: 73.44 (-9.30%) 67.19 (0.00%) 67.19
length=1472,align1=0,align2=46: 70.31 (-4.65%) 67.97 (-1.16%) 67.19
length=1472,align1=46,align2=46: 57.81 (0.00%) 58.59 (-1.35%) 57.81
length=1504,align1=0,align2=0: 60.94 (0.00%) 60.94 (0.00%) 60.94
length=1504,align1=47,align2=0: 71.09 (-1.11%) 70.31 (0.00%) 70.31
length=1504,align1=0,align2=47: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1504,align1=47,align2=47: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=0: 62.50 (-3.90%) 60.16 (0.00%) 60.16
length=1536,align1=48,align2=0: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1536,align1=0,align2=48: 61.72 (-3.95%) 60.16 (-1.32%) 59.38
length=1536,align1=48,align2=48: 60.94 (-1.30%) 60.16 (0.00%) 60.16
length=1568,align1=0,align2=0: 80.47 (-27.16%) 63.28 (0.00%) 63.28
length=1568,align1=49,align2=0: 86.72 (-18.09%) 72.66 (1.06%) 73.44
length=1568,align1=0,align2=49: 74.22 (-3.26%) 74.22 (-3.26%) 71.88
length=1568,align1=49,align2=49: 62.50 (0.00%) 61.72 (1.25%) 62.50
length=1600,align1=0,align2=0: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1600,align1=50,align2=0: 73.44 (0.00%) 71.88 (2.13%) 73.44
length=1600,align1=0,align2=50: 72.66 (0.00%) 73.44 (-1.08%) 72.66
length=1600,align1=50,align2=50: 62.50 (-1.27%) 62.50 (-1.27%) 61.72
length=1632,align1=0,align2=0: 64.84 (0.00%) 64.84 (0.00%) 64.84
length=1632,align1=51,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1632,align1=0,align2=51: 78.91 (0.00%) 75.78 (3.96%) 78.91
length=1632,align1=51,align2=51: 64.84 (-2.47%) 64.84 (-2.47%) 63.28
length=1664,align1=0,align2=0: 64.84 (-1.22%) 64.84 (-1.22%) 64.06
length=1664,align1=52,align2=0: 75.78 (0.00%) 75.00 (1.03%) 75.78
length=1664,align1=0,align2=52: 80.47 (-0.98%) 75.78 (4.90%) 79.69
length=1664,align1=52,align2=52: 64.06 (-1.23%) 65.62 (-3.70%) 63.28
length=1696,align1=0,align2=0: 69.53 (-3.49%) 72.66 (-8.14%) 67.19
length=1696,align1=53,align2=0: 80.47 (-0.98%) 82.03 (-2.94%) 79.69
length=1696,align1=0,align2=53: 80.47 (0.96%) 82.03 (-0.96%) 81.25
length=1696,align1=53,align2=53: 68.75 (-2.33%) 72.66 (-8.14%) 67.19
length=1728,align1=0,align2=0: 67.97 (0.00%) 72.66 (-6.90%) 67.97
length=1728,align1=54,align2=0: 80.47 (-0.98%) 82.81 (-3.92%) 79.69
length=1728,align1=0,align2=54: 78.91 (-1.00%) 82.03 (-5.00%) 78.12
length=1728,align1=54,align2=54: 68.75 (0.00%) 72.66 (-5.68%) 68.75
length=1760,align1=0,align2=0: 77.34 (-12.50%) 68.75 (0.00%) 68.75
length=1760,align1=55,align2=0: 91.41 (-8.33%) 79.69 (5.56%) 84.38
length=1760,align1=0,align2=55: 88.28 (-10.78%) 80.47 (-0.98%) 79.69
length=1760,align1=55,align2=55: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1792,align1=0,align2=0: 78.12 (-14.94%) 68.75 (-1.15%) 67.97
length=1792,align1=56,align2=0: 88.28 (-4.63%) 79.69 (5.56%) 84.38
length=1792,align1=0,align2=56: 88.28 (-9.71%) 80.47 (0.00%) 80.47
length=1792,align1=56,align2=56: 77.34 (-11.24%) 68.75 (1.12%) 69.53
length=1824,align1=0,align2=0: 72.66 (7.92%) 70.31 (10.89%) 78.91
length=1824,align1=57,align2=0: 85.94 (5.17%) 82.03 (9.48%) 90.62
length=1824,align1=0,align2=57: 82.03 (3.67%) 82.81 (2.75%) 85.16
length=1824,align1=57,align2=57: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=0,align2=0: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1856,align1=58,align2=0: 83.59 (-0.94%) 82.03 (0.94%) 82.81
length=1856,align1=0,align2=58: 178.12 (-115.09%) 82.81 (0.00%) 82.81
length=1856,align1=58,align2=58: 70.31 (-1.12%) 70.31 (-1.12%) 69.53
length=1888,align1=0,align2=0: 73.44 (-1.08%) 78.91 (-8.60%) 72.66
length=1888,align1=59,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1888,align1=0,align2=59: 84.38 (0.00%) 89.06 (-5.56%) 84.38
length=1888,align1=59,align2=59: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=0,align2=0: 72.66 (-1.09%) 78.12 (-8.70%) 71.88
length=1920,align1=60,align2=0: 85.94 (0.00%) 89.84 (-4.55%) 85.94
length=1920,align1=0,align2=60: 85.16 (0.00%) 89.06 (-4.59%) 85.16
length=1920,align1=60,align2=60: 72.66 (-1.09%) 78.91 (-9.78%) 71.88
length=1952,align1=0,align2=0: 75.00 (-1.05%) 75.00 (-1.05%) 74.22
length=1952,align1=61,align2=0: 88.28 (0.00%) 87.50 (0.88%) 88.28
length=1952,align1=0,align2=61: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1952,align1=61,align2=61: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=1984,align1=0,align2=0: 75.00 (-1.05%) 73.44 (1.05%) 74.22
length=1984,align1=62,align2=0: 89.06 (-0.89%) 87.50 (0.88%) 88.28
length=1984,align1=0,align2=62: 87.50 (0.00%) 88.28 (-0.89%) 87.50
length=1984,align1=62,align2=62: 74.22 (0.00%) 74.22 (0.00%) 74.22
length=2016,align1=0,align2=0: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=2016,align1=63,align2=0: 91.41 (-0.86%) 90.62 (0.00%) 90.62
length=2016,align1=0,align2=63: 89.84 (0.00%) 90.62 (-0.87%) 89.84
length=2016,align1=63,align2=63: 77.34 (-1.02%) 76.56 (0.00%) 76.56
length=4096,align1=0,align2=0: 141.41 (-0.56%) 146.88 (-4.44%) 140.62
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: large
================================================================================
length=65543,align1=0,align2=0: 4018.75 (3.09%) 2634.38 (36.47%) 4146.88
length=65551,align1=0,align2=3: 4425.00 (-6.47%) 3134.38 (24.59%) 4156.25
length=65567,align1=3,align2=0: 2909.38 (29.95%) 3134.38 (24.53%) 4153.12
length=65599,align1=3,align2=5: 4415.62 (-6.16%) 3134.38 (24.64%) 4159.38
length=131079,align1=0,align2=0: 5765.62 (30.38%) 5240.62 (36.72%) 8281.25
length=131087,align1=0,align2=3: 8831.25 (-6.56%) 6271.88 (24.32%) 8287.50
length=131103,align1=3,align2=0: 5793.75 (29.05%) 6268.75 (23.23%) 8165.62
length=131135,align1=3,align2=5: 5806.25 (29.97%) 6259.38 (24.50%) 8290.62
length=262151,align1=0,align2=0: 11850.00 (28.91%) 10762.50 (35.43%) 16668.80
length=262159,align1=0,align2=3: 12043.80 (27.72%) 12700.00 (23.78%) 16662.50
length=262175,align1=3,align2=0: 12046.90 (27.90%) 12687.50 (24.07%) 16709.40
length=262207,align1=3,align2=5: 11984.40 (28.08%) 12678.10 (23.91%) 16662.50
length=524295,align1=0,align2=0: 24825.00 (25.00%) 24268.80 (27.34%) 33400.00
length=524303,align1=0,align2=3: 35731.20 (-6.53%) 25678.10 (23.44%) 33540.60
length=524319,align1=3,align2=0: 25893.80 (22.71%) 25725.00 (23.22%) 33503.10
length=524351,align1=3,align2=5: 25887.50 (22.86%) 25690.60 (23.45%) 33559.40
length=1048583,align1=0,align2=0: 50621.90 (0.30%) 50600.00 (0.34%) 50771.90
length=1048591,align1=0,align2=3: 53206.20 (0.54%) 51081.20 (4.51%) 53493.80
length=1048607,align1=3,align2=0: 53221.90 (0.32%) 51975.00 (2.66%) 53393.80
length=1048639,align1=3,align2=5: 53240.60 (0.36%) 51953.10 (2.77%) 53431.20
length=2097159,align1=0,align2=0: 103744.00 (-2.00%) 102447.00 (-1.00%) 102425.00
length=2097167,align1=0,align2=3: 108588.00 (-1.00%) 105159.00 (2.00%) 107606.00
length=2097183,align1=3,align2=0: 107678.00 (0.00%) 105250.00 (2.00%) 108125.00
length=2097215,align1=3,align2=5: 107906.00 (1.00%) 105841.00 (3.00%) 109475.00
length=4194311,align1=0,align2=0: 202994.00 (0.00%) 202500.00 (1.00%) 204809.00
length=4194319,align1=0,align2=3: 213350.00 (0.00%) 205997.00 (3.00%) 213384.00
length=4194335,align1=3,align2=0: 212653.00 (0.00%) 206444.00 (3.00%) 212900.00
length=4194367,align1=3,align2=5: 213044.00 (0.00%) 206084.00 (3.00%) 213847.00
length=8388615,align1=0,align2=0: 401294.00 (0.00%) 401231.00 (0.00%) 401944.00
length=8388623,align1=0,align2=3: 480872.00 (-14.00%) 406444.00 (3.00%) 422900.00
length=8388639,align1=3,align2=0: 422147.00 (0.00%) 407750.00 (3.00%) 422803.00
length=8388671,align1=3,align2=5: 442003.00 (-5.00%) 407125.00 (3.00%) 423509.00
length=16777223,align1=0,align2=0: 799809.00 (0.00%) 800000.00 (0.00%) 801756.00
length=16777231,align1=0,align2=3: 841184.00 (0.00%) 808525.00 (4.00%) 843775.00
length=16777247,align1=3,align2=0: 841166.00 (0.00%) 810147.00 (3.00%) 843147.00
length=16777279,align1=3,align2=5: 972569.00 (-16.00%) 808588.00 (4.00%) 843731.00
length=33554439,align1=0,align2=0: 1842240.00 (-0.01%) 1863590.00 (-1.17%) 1841990.00
length=33554447,align1=0,align2=3: 2103470.00 (-2.74%) 1919460.00 (6.25%) 2047440.00
length=33554463,align1=3,align2=0: 2075690.00 (-1.07%) 1930040.00 (6.02%) 2053720.00
length=33554495,align1=3,align2=5: 2110590.00 (-2.82%) 1924440.00 (6.25%) 2052650.00
Function: memcpy
__memcpy_thunderx __memcpy_falkor __memcpy_generic
Variant: random
================================================================================
max-size=4096: 44061.90 (5.85%) 38568.20 (17.59%) 46799.90
max-size=8192: 42790.90 (5.27%) 38158.90 (15.52%) 45171.50
max-size=16384: 44912.10 (2.25%) 38710.40 (15.75%) 45945.00
max-size=32768: 43577.90 (1.23%) 37975.10 (13.93%) 44120.00
max-size=65536: 44375.50 (1.04%) 38474.20 (14.20%) 44840.60
* manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
* sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
memcpy_falkor.
* sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
Bump.
(__libc_ifunc_impl_list): Add __memcpy_falkor.
* sysdeps/aarch64/multiarch/memcpy.c: Likewise.
* sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
Add falkor.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
New macro.
2017-08-09 03:02:17 +02:00
|
|
|
* manual/tunables.texi (Tunable glibc.tune.cpu): Add falkor.
|
|
|
|
* sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add
|
|
|
|
memcpy_falkor.
|
|
|
|
* sysdeps/aarch64/multiarch/ifunc-impl-list.c (MAX_IFUNC):
|
|
|
|
Bump.
|
|
|
|
(__libc_ifunc_impl_list): Add __memcpy_falkor.
|
|
|
|
* sysdeps/aarch64/multiarch/memcpy.c: Likewise.
|
|
|
|
* sysdeps/aarch64/multiarch/memcpy_falkor.S: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (cpu_list):
|
|
|
|
Add falkor.
|
|
|
|
* sysdeps/unix/sysv/linux/aarch64/cpu-features.h (IS_FALKOR):
|
|
|
|
New macro.
|
|
|
|
|
manual: Document getcontext uc_stack value on Linux [BZ #759]
As decribed in BZ#759, Linux getcontext implementation on Linux does
differs from other SysV system about the returned uc_stack. This is
true not only for i386, but for all the architecture I could actually
check (aarch64, arm, alpha, hppa, m68k, mips, mips64, mips64n32,
powerpc, powerpc64, powerpc64le, s390x, sh, sparc, sparc64, and x86).
And I think we should not change current behavior for some reasons:
1. POSIX 2008 removed this SySV interface for a good reason and changing
this behavior adds nothing for current portable code. POSIX 2001
specification does states that stack should be saved [1] and current
GLIBC code does in a arch-specific manner (inside the mcontext_t)
which allows the setcontext to work correctly.
2. Changing this behavior would potentially require compat symbols and
I see no gain in adding compat symbols for deprecated interfaces.
3. Also, for comment #2 in BZ#759, it is up to kernel do setup the contents
for ucontext_t and currently it does not provide the stack information
as well. Trying to change it is also another fix that does not worth
the possible gains.
Instead my proposal is to make it clear the current interface may differ
depending of the underlying operational system.
glibc documentation and close this bug as invalid.
[BZ #759]
* manual/setjmp.texi (getcontex): Document uc_stack value on Linux.
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/getcontext.html
2017-05-16 21:05:35 +02:00
|
|
|
2017-08-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
[BZ #759]
|
|
|
|
* manual/setjmp.texi (getcontex): Document uc_stack value
|
|
|
|
compatibility differences.
|
|
|
|
|
2017-08-08 19:14:49 +02:00
|
|
|
2017-08-08 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* malloc/mcheck.c (old_free_hook): Use void * instead of __ptr_t.
|
|
|
|
(old_malloc_hook): Likewise.
|
|
|
|
(old_memalign_hook): Likewise.
|
|
|
|
(old_realloc_hook): Likewise.
|
|
|
|
(struct hdr): Likewise.
|
|
|
|
(flood): Likewise.
|
|
|
|
(freehook): Likewise.
|
|
|
|
(mallochook): Likewise.
|
|
|
|
(memalignhook): Likewise.
|
|
|
|
(reallochook): Likewise.
|
|
|
|
(mprobe): Likewise.
|
|
|
|
* malloc/mtrace.c (mallwatch): Likewise.
|
|
|
|
(tr_old_free_hook): Likewise.
|
|
|
|
(tr_old_malloc_hook): Likewise.
|
|
|
|
(tr_old_realloc_hook): Likewise.
|
|
|
|
(tr_old_memalign_hook): Likewise.
|
|
|
|
(tr_where): Likewise.
|
|
|
|
(lock_and_info): Likewise.
|
|
|
|
(tr_freehook): Likewise.
|
|
|
|
(tr_mallochook): Likewise.
|
|
|
|
(tr_reallochook): Likewise.
|
|
|
|
(tr_memalignhook): Likewise.
|
|
|
|
* misc/err.h [!__GNUC_VA_LIST] (__gnuc_va_list): Likewise.
|
|
|
|
* misc/mmap.c (__mmap): Likewise.
|
|
|
|
* misc/mmap64.c (__mmap64): Likewise.
|
|
|
|
* misc/mprotect.c (__mprotect): Likewise.
|
|
|
|
* misc/msync.c (msync): Likewise.
|
|
|
|
* misc/munmap.c (__munmap): Likewise.
|
|
|
|
* posix/posix_madvise.c (posix_madvise): Likewise.
|
|
|
|
* socket/send.c (__send): Likewise.
|
|
|
|
* socket/sendto.c (__sendto): Likewise.
|
|
|
|
* socket/setsockopt.c (__setsockopt): Likewise.
|
|
|
|
* string/memcmp.c (__ptr_t): Remove macro.
|
|
|
|
(MEMCMP): Use void * instead of ptr_t.
|
|
|
|
* string/memrchr.c (__ptr_t): Remove macro.
|
|
|
|
(__memrchr): Use void * instead of ptr_t.
|
|
|
|
* sysdeps/mach/hurd/dl-sysdep.c (__mmap): Likewise.
|
|
|
|
* sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
|
|
|
|
* sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
|
|
|
|
* sysdeps/mach/mprotect.c (__mprotect): Likewise.
|
|
|
|
* sysdeps/mach/msync.c (msync): Likewise.
|
|
|
|
* sysdeps/mach/munmap.c (__munmap): Likewise.
|
|
|
|
* sysdeps/mips/bits/setjmp.h (struct __jmp_buf_internal_tag):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power4/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/mempcpy.S (__mempcpy):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power4/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power4/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power6/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power6/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power7/memcpy.S (memcpy): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power7/mempcpy.S (__mempcpy):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power7/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/powerpc/powerpc64/power8/memset.S (memset): Likewise.
|
|
|
|
* sysdeps/tile/memcmp.c (__ptr_t): Remove macro.
|
|
|
|
(MEMCMP): Use void * instead of ptr_t.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/oldglob.c (old_glob_t): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mmap.c (__mmap): Likewise.
|
|
|
|
|
2017-08-08 18:48:05 +02:00
|
|
|
2017-08-08 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gaih_inet): Remove unreachable
|
|
|
|
return statement.
|
|
|
|
|
i386: Add <startup.h> [BZ #21913]
On Linux/i386, there are 3 ways to make a system call:
1. call *%gs:SYSINFO_OFFSET. This requires TLS initialization.
2. call *_dl_sysinfo. This requires relocation of _dl_sysinfo.
3. int $0x80. This is slower than #2 and #3, but works everywhere.
When an object file is compiled with PIC, #1 is prefered since it is
faster than #3 and doesn't require relocation of _dl_sysinfo. For
dynamic executables, ld.so initializes TLS. However, for static
executables, before TLS is initialized by __libc_setup_tls, #3 should
be used for system calls.
This patch adds <startup.h> which defines _startup_fatal and defaults
it to __libc_fatal. It replaces __libc_fatal with _startup_fatal in
static executables where it is called before __libc_setup_tls is called.
This header file is included in all files containing functions which are
called before __libc_setup_tls is called. On Linux/i386, when PIE is
enabled by default, _startup_fatal is turned into ABORT_INSTRUCTION and
I386_USE_SYSENTER is defined to 0 so that "int $0x80" is used for system
calls before __libc_setup_tls is called.
Tested on i686 and x86-64. Without this patch, all statically-linked
tests will fail on i686 when the compiler defaults to -fPIE.
[BZ #21913]
* csu/libc-tls.c: Include <startup.h> first.
(__libc_setup_tls): Call _startup_fatal instead of __libc_fatal.
* elf/dl-tunables.c: Include <startup.h> first.
* include/libc-symbols.h (BUILD_PIE_DEFAULT): New.
* sysdeps/generic/startup.h: New file.
* sysdeps/unix/sysv/linux/i386/startup.h: Likewise.
* sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0]
(I386_USE_SYSENTER): New. Defined to 0.
2017-08-08 17:41:08 +02:00
|
|
|
2017-08-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21913]
|
|
|
|
* csu/libc-tls.c: Include <startup.h> first.
|
|
|
|
(__libc_setup_tls): Call _startup_fatal instead of __libc_fatal.
|
|
|
|
* elf/dl-tunables.c: Include <startup.h> first.
|
|
|
|
* include/libc-symbols.h (BUILD_PIE_DEFAULT): New.
|
|
|
|
* sysdeps/generic/startup.h: New file.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/startup.h: Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/i386/brk.c [BUILD_PIE_DEFAULT != 0]
|
|
|
|
(I386_USE_SYSENTER): New. Defined to 0.
|
|
|
|
|
2017-08-08 16:21:58 +02:00
|
|
|
2017-08-08 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
[BZ #21041]
|
|
|
|
* nptl/pt-longjmp.c (longjmp, siglongjmp): Don't use IFUNC resolver.
|
|
|
|
* nptl/pt-system.c (system): Likewise.
|
|
|
|
|
2017-07-17 15:59:59 +02:00
|
|
|
2017-08-07 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
|
|
|
|
[BZ #21780]
|
|
|
|
* sysdeps/posix/preadv2.c (preadv2): Use ENOTSUP instead of
|
|
|
|
EOPNOTSUPP.
|
|
|
|
* sysdeps/posix/preadv64v2.c (preadv64v2): Likewise.
|
|
|
|
* sysdeps/posix/pwritev2.c (pwritev2): Likewise.
|
|
|
|
* sysdeps/posix/pwritev64v2.c (pwritev64v2): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise.
|
|
|
|
|
2017-08-07 21:53:17 +02:00
|
|
|
2017-08-07 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
Fix XPG4.2 bits/sigaction.h namespace (bug 21899).
For XPG4.2, sa_sigaction, SA_ONSTACK, SA_RESETHAND, SA_RESTART and
SA_NODEFER should be defined in signal.h, but they are only defined
for other standards at present.
This patch fixes the various bits/sigaction.h headers accordingly.
All the fixes are essentially the same, except those for SPARC and
Tile.
For SPARC, the header (a) spuriously defined various nonstandard
macros for __USE_UNIX98 || defined __USE_XOPEN2K8 and (b) defined some
standard macros as aliases of nonstandard ones instead of the other
way round. This patch fixes the SPARC header to handle these macros
the same way and with the same conditions as those for other
architectures, so the standard macros are the primary ones and the
other ones are defined only for __USE_MISC and are aliases of the
standard ones where applicable.
For Tile, the header spuriously defined the nonstandard macro
SA_NOPTRACE for __USE_UNIX98 || defined __USE_XOPEN2K8; this is moved
to __USE_MISC.
(Those nonstandard macros are in a reserved namespace, but it seems
desirable to be consistent between architectures as far as possible,
and so not define them in standard modes anywhere.)
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21899]
* bits/sigaction.h (struct sigaction): Define sa_handler and
sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise. Define directly rather than as alias.
(SA_RESETHAND): Likewise.
(SA_INTERRUPT): Define only for [__USE_MISC].
(SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
(SA_ONESHOT): Define as alias of SA_RESETHAND, only for
[__USE_MISC].
(SA_STACK): Define only for [__USE_MISC].
* sysdeps/unix/sysv/linux/tile/bits/sigaction.h
(struct sigaction): Define sa_handler and sa_sigaction using union
also for [__USE_XOPEN_EXTENDED].
(SA_ONSTACK): Change [__USE_UNIX98] condition to
[__USE_XOPEN_EXTENDED].
(SA_RESTART): Likewise.
(SA_NODEFER): Likewise.
(SA_RESETHAND): Likewise.
(SA_NOPTRACE): Define only for [__USE_MISC].
2017-08-08 01:41:32 +02:00
|
|
|
[BZ #21899]
|
|
|
|
* bits/sigaction.h (struct sigaction): Define sa_handler and
|
|
|
|
sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise. Define directly rather than as alias.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
(SA_INTERRUPT): Define only for [__USE_MISC].
|
|
|
|
(SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
|
|
|
|
(SA_ONESHOT): Define as alias of SA_RESETHAND, only for
|
|
|
|
[__USE_MISC].
|
|
|
|
(SA_STACK): Define only for [__USE_MISC].
|
|
|
|
* sysdeps/unix/sysv/linux/tile/bits/sigaction.h
|
|
|
|
(struct sigaction): Define sa_handler and sa_sigaction using union
|
|
|
|
also for [__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_ONSTACK): Change [__USE_UNIX98] condition to
|
|
|
|
[__USE_XOPEN_EXTENDED].
|
|
|
|
(SA_RESTART): Likewise.
|
|
|
|
(SA_NODEFER): Likewise.
|
|
|
|
(SA_RESETHAND): Likewise.
|
|
|
|
(SA_NOPTRACE): Define only for [__USE_MISC].
|
|
|
|
|
2017-08-07 21:55:34 +02:00
|
|
|
* catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t.
|
|
|
|
* catgets/catgetsinfo.h (struct catalog_obj): Likewise.
|
|
|
|
(struct catalog_info): Likewise.
|
|
|
|
* inet/htontest.c (lo): Likewise.
|
|
|
|
(foo): Likewise.
|
|
|
|
* inet/inet_lnaof.c (inet_lnaof): Likewise.
|
|
|
|
* inet/inet_net.c (inet_network): Likewise.
|
|
|
|
* inet/inet_netof.c (inet_netof): Likewise.
|
|
|
|
* inet/rcmd.c (__ivaliduser): Likewise.
|
|
|
|
(iruserok): Likewise.
|
|
|
|
* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
|
|
|
|
* locale/programs/locale-spec.c (locale_special): Likewise.
|
|
|
|
* nis/nis_findserv.c (struct findserv_req): Likewise.
|
|
|
|
(__nis_findfastest_with_timeout): Likewise.
|
|
|
|
* nss/test-netdb.c (test_network): Likewise.
|
|
|
|
* resolv/inet_neta.c (inet_neta): Likewise.
|
|
|
|
* resolv/ns_date.c (ns_datetosecs): Likewise.
|
|
|
|
(SECS_PER_DAY): Likewise.
|
|
|
|
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r):
|
|
|
|
Likewise.
|
|
|
|
* resolv/res_comp.c (__putlong): Likewise.
|
|
|
|
(__putshort): Likewise.
|
|
|
|
(_getlong): Likewise.
|
|
|
|
(_getshort): Likewise.
|
|
|
|
* resolv/res_debug.c (p_time): Likewise.
|
|
|
|
(precsize_ntoa): Likewise.
|
|
|
|
(precsize_aton): Likewise.
|
|
|
|
(latlon2ul): Likewise.
|
|
|
|
(loc_aton): Likewise.
|
|
|
|
(loc_ntoa): Likewise.
|
|
|
|
* resolv/res_hconf.c (struct netaddr): Likewise.
|
|
|
|
(_res_hconf_reorder_addrs): Likewise.
|
|
|
|
* sunrpc/clnt_tcp.c (clnttcp_call): Likewise.
|
|
|
|
(clnttcp_control): Likewise.
|
|
|
|
* sunrpc/clnt_udp.c (clntudp_call): Likewise.
|
|
|
|
(clntudp_control): Likewise.
|
|
|
|
* sunrpc/clnt_unix.c (clntunix_call): Likewise.
|
|
|
|
(clntunix_control): Likewise.
|
|
|
|
* sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
|
|
|
|
* sunrpc/rpc/auth.h (union des_block): Likewise.
|
|
|
|
* sunrpc/tst-udp-nonblocking.c (do_test): Likewise.
|
|
|
|
* sunrpc/xdr_rec.c (struct rec_strm): Likewise.
|
|
|
|
(xdrrec_create): Likewise.
|
|
|
|
(xdrrec_endofrecord): Likewise.
|
|
|
|
(flush_out): Likewise.
|
|
|
|
* sunrpc/xdr_stdio.c (xdrstdio_getlong): Likewise.
|
|
|
|
(xdrstdio_putlong): Likewise.
|
|
|
|
* sysdeps/unix/sysv/linux/errqueue.h (struct sock_extended_err):
|
|
|
|
Likewise.
|
|
|
|
|
2017-08-07 21:53:17 +02:00
|
|
|
* misc/sys/cdefs.h (__long_double_t): Remove.
|
|
|
|
* stdio-common/printf_fp.c (__printf_fp_l): Use long double
|
|
|
|
instead of __long_double_t,
|
|
|
|
* stdlib/strfmon_l.c (__vstrfmon_l): Likewise.
|
|
|
|
|
2017-08-07 21:14:00 +02:00
|
|
|
2017-08-07 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
|
|
|
2017-08-07 21:26:10 +02:00
|
|
|
* benchtests/scripts/compare_strings.py: Avoid display error when
|
|
|
|
running on a text terminal.
|
|
|
|
|
2017-08-07 21:25:12 +02:00
|
|
|
* benchtests/scripts/compare_strings.py (main): Add an
|
|
|
|
optional -base option.
|
|
|
|
(process_results): New argument base_func.
|
|
|
|
|
2017-08-07 21:14:00 +02:00
|
|
|
* benchtests/bench-memcpy.c (test_main): Use TEST_NAME instead of
|
|
|
|
hardcoding memcpy.
|
|
|
|
* benchtests/bench-memcpy-large.c (test_name): Likewise.
|
|
|
|
* benchtests/bench-memcpy-random.c (test_name): Likewise.
|
|
|
|
|
2017-08-07 17:11:10 +02:00
|
|
|
2017-08-07 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
* elf/Makefile ($(objpfx)tst-pathopt.out): Redirect output to target.
|
|
|
|
* grp/Makefile ($(objpfx)tst_fgetgrent.out): Likewise.
|
|
|
|
* intl/Makefile ($(objpfx)tst-gettext.out)
|
|
|
|
($(objpfx)tst-translit.out, $(objpfx)tst-gettext2.out)
|
|
|
|
($(objpfx)tst-gettext4.out, $(objpfx)tst-gettext6.out): Likewise.
|
|
|
|
* libio/Makefile ($(objpfx)test-freopen.out): Likewise.
|
|
|
|
* malloc/Makefile ($(objpfx)tst-mtrace.out): Likewise.
|
|
|
|
* nptl/Makefile ($(objpfx)tst-tls6.out): Likewise.
|
|
|
|
* posix/Makefile ($(objpfx)globtest.out)
|
|
|
|
($(objpfx)wordexp-tst.out, $(objpfx)tst-getconf.out): Likewise.
|
|
|
|
* stdio-common/Makefile ($(objpfx)tst-unbputc.out)
|
|
|
|
($(objpfx)tst-printf.out): Likewise.
|
|
|
|
* stdlib/Makefile ($(objpfx)tst-fmtmsg.out)
|
|
|
|
($(objpfx)tst-setcontext3.out): Likewise.
|
|
|
|
|
x86-64: Add FMA multiarch functions to libm
This patch adds multiarch functions optimized with -mfma -mavx2 to libm.
e_pow-fma.c is compiled with $(config-cflags-nofma) due to PR 19003.
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma,
e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma,
slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma,
halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma,
and mptan-fma.
(CFLAGS-doasin-fma.c): New.
(CFLAGS-dosincos-fma.c): Likewise.
(CFLAGS-e_asin-fma.c): Likewise.
(CFLAGS-e_atan2-fma.c): Likewise.
(CFLAGS-e_exp-fma.c): Likewise.
(CFLAGS-e_log-fma.c): Likewise.
(CFLAGS-e_pow-fma.c): Likewise.
(CFLAGS-halfulp-fma.c): Likewise.
(CFLAGS-mpa-fma.c): Likewise.
(CFLAGS-mpatan-fma.c): Likewise.
(CFLAGS-mpatan2-fma.c): Likewise.
(CFLAGS-mpexp-fma.c): Likewise.
(CFLAGS-mplog-fma.c): Likewise.
(CFLAGS-mpsqrt-fma.c): Likewise.
(CFLAGS-mptan-fma.c): Likewise.
(CFLAGS-s_atan-fma.c): Likewise.
(CFLAGS-sincos32-fma.c): Likewise.
(CFLAGS-slowexp-fma.c): Likewise.
(CFLAGS-slowpow-fma.c): Likewise.
(CFLAGS-s_sin-fma.c): Likewise.
(CFLAGS-s_tan-fma.c): Likewise.
* sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file.
* sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite.
* sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.
2017-08-07 17:19:59 +02:00
|
|
|
2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
Add e_exp-fma, e_log-fma, e_pow-fma, s_atan-fma, e_asin-fma,
|
|
|
|
e_atan2-fma, s_sin-fma, s_tan-fma, mplog-fma, mpa-fma,
|
|
|
|
slowexp-fma, slowpow-fma, sincos32-fma, doasin-fma, dosincos-fma,
|
|
|
|
halfulp-fma, mpexp-fma, mpatan2-fma, mpatan-fma, mpsqrt-fma,
|
|
|
|
and mptan-fma.
|
|
|
|
(CFLAGS-doasin-fma.c): New.
|
|
|
|
(CFLAGS-dosincos-fma.c): Likewise.
|
|
|
|
(CFLAGS-e_asin-fma.c): Likewise.
|
|
|
|
(CFLAGS-e_atan2-fma.c): Likewise.
|
|
|
|
(CFLAGS-e_exp-fma.c): Likewise.
|
|
|
|
(CFLAGS-e_log-fma.c): Likewise.
|
|
|
|
(CFLAGS-e_pow-fma.c): Likewise.
|
|
|
|
(CFLAGS-halfulp-fma.c): Likewise.
|
|
|
|
(CFLAGS-mpa-fma.c): Likewise.
|
|
|
|
(CFLAGS-mpatan-fma.c): Likewise.
|
|
|
|
(CFLAGS-mpatan2-fma.c): Likewise.
|
|
|
|
(CFLAGS-mpexp-fma.c): Likewise.
|
|
|
|
(CFLAGS-mplog-fma.c): Likewise.
|
|
|
|
(CFLAGS-mpsqrt-fma.c): Likewise.
|
|
|
|
(CFLAGS-mptan-fma.c): Likewise.
|
|
|
|
(CFLAGS-s_atan-fma.c): Likewise.
|
|
|
|
(CFLAGS-sincos32-fma.c): Likewise.
|
|
|
|
(CFLAGS-slowexp-fma.c): Likewise.
|
|
|
|
(CFLAGS-slowpow-fma.c): Likewise.
|
|
|
|
(CFLAGS-s_sin-fma.c): Likewise.
|
|
|
|
(CFLAGS-s_tan-fma.c): Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/doasin-fma.c: New file.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/dosincos-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_asin-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_atan2-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_exp-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_log-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_pow-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/halfulp-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpa-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpatan-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpatan2-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpexp-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mplog-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mpsqrt-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/mptan-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_atan-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_sin-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_tan-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/sincos32-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/slowexp-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/slowpow-fma.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_asin.c: Rewrite.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/e_pow.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.
|
|
|
|
|
2017-08-04 23:32:57 +02:00
|
|
|
2017-08-04 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* sysdeps/generic/math_private.h (__EXPR_FLT128): Remove macro.
|
|
|
|
(min_of_type_f): New macro.
|
|
|
|
(min_of_type_): Likewise.
|
|
|
|
(min_of_type_l): Likewise.
|
|
|
|
(min_of_type_f128): Likewise.
|
|
|
|
(min_of_type): Define using __MATH_TG and taking an expression
|
|
|
|
argument.
|
|
|
|
(math_check_force_underflow): Pass expression instead of type to
|
|
|
|
min_of_type.
|
|
|
|
(math_check_force_underflow_nonneg): Likewise.
|
|
|
|
|
2017-08-04 22:38:05 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86/cpu-features.h [__ASSEMBLER__]
|
|
|
|
(LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX,
|
|
|
|
HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed.
|
|
|
|
|
i686: Implement IFUNC selectors in C
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32,
memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32,
memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32,
strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32,
strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32,
memcpy_chk-nonshared, mempcpy_chk-nonshared,
memmove_chk-nonshared and memset_chk-nonshared
* sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file.
* sysdeps/i386/i686/multiarch/bcopy.c: Likewise.
* sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/bzero.c: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise.
* sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise.
* sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memchr.c: Likewise.
* sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memcmp.c: Likewise.
* sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise.
* sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove.c: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise.
* sysdeps/i386/i686/multiarch/memrchr.c: Likewise.
* sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/memset.c: Likewise.
* sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise.
* sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/stpncpy.c: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise.
* sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcat.c: Likewise.
* sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strchr.c: Likewise.
* sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp.c: Likewise.
* sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcpy.c: Likewise.
* sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strcspn.c: Likewise.
* sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strlen.c: Likewise.
* sysdeps/i386/i686/multiarch/strncase.c: Likewise.
* sysdeps/i386/i686/multiarch/strncase_l.c: Likewise.
* sysdeps/i386/i686/multiarch/strncat.c: Likewise.
* sysdeps/i386/i686/multiarch/strncmp.c: Likewise.
* sysdeps/i386/i686/multiarch/strncpy.c: Likewise.
* sysdeps/i386/i686/multiarch/strnlen.c: Likewise.
* sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strpbrk.c: Likewise.
* sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strrchr.c: Likewise.
* sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise.
* sysdeps/i386/i686/multiarch/strspn.c: Likewise.
* sysdeps/i386/i686/multiarch/wcschr.c: Likewise.
* sysdeps/i386/i686/multiarch/wcscmp.c: Likewise.
* sysdeps/i386/i686/multiarch/wcscpy.c: Likewise.
* sysdeps/i386/i686/multiarch/wcslen.c: Likewise.
* sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise.
* sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise.
* sysdeps/i386/i686/multiarch/bcopy.S: Removed.
* sysdeps/i386/i686/multiarch/bzero.S: Likewise.
* sysdeps/i386/i686/multiarch/memchr.S: Likewise.
* sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
* sysdeps/i386/i686/multiarch/memset.S: Likewise.
* sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
* sysdeps/i386/i686/multiarch/stpcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/stpncpy.S: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
* sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise.
* sysdeps/i386/i686/multiarch/strcat.S: Likewise.
* sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
* sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
* sysdeps/i386/i686/multiarch/strlen.S: Likewise.
* sysdeps/i386/i686/multiarch/strncase.S: Likewise.
* sysdeps/i386/i686/multiarch/strncase_l.S: Likewise.
* sysdeps/i386/i686/multiarch/strncat.S: Likewise.
* sysdeps/i386/i686/multiarch/strncmp.S: Likewise.
* sysdeps/i386/i686/multiarch/strncpy.S: Likewise.
* sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
* sysdeps/i386/i686/multiarch/strpbrk.S: Likewise.
* sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
* sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
* sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
* sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
* sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
* sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
* sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.
2017-07-19 15:54:03 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
|
|
|
|
bcopy-ia32, bzero-ia32, rawmemchr-ia32 memchr-ia32,
|
|
|
|
memcmp-ia32, memcpy-ia32, memmove-ia32, mempcpy-ia32,
|
|
|
|
memset-ia32, strcat-ia32, strchr-ia32, strrchr-ia32,
|
|
|
|
strcpy-ia32, strcmp-ia32, strcspn-ia32, strpbrk-ia32,
|
|
|
|
strspn-ia32, strlen-ia32, stpcpy-ia32, stpncpy-ia32,
|
|
|
|
memcpy_chk-nonshared, mempcpy_chk-nonshared,
|
|
|
|
memmove_chk-nonshared and memset_chk-nonshared
|
|
|
|
* sysdeps/i386/i686/multiarch/bcopy-ia32.S: New file.
|
|
|
|
* sysdeps/i386/i686/multiarch/bcopy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/bzero-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/bzero.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-memmove.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-memset.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse2-bsf.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse2-ssse3.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse2.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-sse4_2.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/ifunc-ssse3-sse4_2.h: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memchr-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memchr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy_chk-nonshared.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy_chk.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove_chk-nonshared.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove_chk.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy_chk-nonshared.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy_chk.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memrchr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset_chk-nonshared.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/rawmemchr-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/rawmemchr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpncpy-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpncpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp_l.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strchr-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strchr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcmp-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcmp.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcspn-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcspn.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strlen-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strlen.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase_l.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncat.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncmp.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strnlen.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strpbrk-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strpbrk.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strrchr-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strrchr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn-ia32.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcschr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscmp.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscpy.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcslen.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcsrchr.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wmemcmp.c: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/bcopy.S: Removed.
|
|
|
|
* sysdeps/i386/i686/multiarch/bzero.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memchr.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpcpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/stpncpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcasecmp_l.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strlen.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncase_l.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncat.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncmp.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strncpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strpbrk.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.
|
|
|
|
|
x86-64: Implement libmathvec IFUNC selectors in C
* sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines)
Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse,
svml_d_cos8_core-avx2, svml_d_exp2_core-sse2,
svml_d_exp4_core-sse, svml_d_exp8_core-avx2,
svml_d_log2_core-sse2, svml_d_log4_core-sse,
svml_d_log8_core-avx2, svml_d_pow2_core-sse2,
svml_d_pow4_core-sse, svml_d_pow8_core-avx2
svml_d_sin2_core-sse2, svml_d_sin4_core-sse,
svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2,
svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2,
svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2,
svml_s_cosf8_core-sse, svml_s_expf16_core-avx2,
svml_s_expf4_core-sse2, svml_s_expf8_core-sse,
svml_s_logf16_core-avx2, svml_s_logf4_core-sse2,
svml_s_logf8_core-sse, svml_s_powf16_core-avx2,
svml_s_powf4_core-sse2, svml_s_powf8_core-sse,
svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2,
svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2,
svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse.
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file.
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_cos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4v_cos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8v_cos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_exp): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4v_exp): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8v_exp): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_log): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4v_log): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8v_log): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2vv_pow): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4vv_pow): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8vv_pow): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2v_sin): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_sin): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN8v_sin): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN2vvv_sincos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN4vvv_sincos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN8vvv_sincos): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_cosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_cosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_cosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_expf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_expf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_expf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_logf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_logf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_logf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16vv_powf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4vv_powf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8vv_powf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16vvv_sincosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4vvv_sincosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8vvv_sincosf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVeN16v_sinf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVbN4v_sinf): Removed.
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to
...
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This.
Don't include <sysdep.h> nor <init-arch.h>.
(_ZGVdN8v_sinf): Removed.
2017-08-04 22:03:44 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines)
|
|
|
|
Add svml_d_cos2_core-sse2, svml_d_cos4_core-sse,
|
|
|
|
svml_d_cos8_core-avx2, svml_d_exp2_core-sse2,
|
|
|
|
svml_d_exp4_core-sse, svml_d_exp8_core-avx2,
|
|
|
|
svml_d_log2_core-sse2, svml_d_log4_core-sse,
|
|
|
|
svml_d_log8_core-avx2, svml_d_pow2_core-sse2,
|
|
|
|
svml_d_pow4_core-sse, svml_d_pow8_core-avx2
|
|
|
|
svml_d_sin2_core-sse2, svml_d_sin4_core-sse,
|
|
|
|
svml_d_sin8_core-avx2, svml_d_sincos2_core-sse2,
|
|
|
|
svml_d_sincos4_core-sse, svml_d_sincos8_core-avx2,
|
|
|
|
svml_s_cosf16_core-avx2, svml_s_cosf4_core-sse2,
|
|
|
|
svml_s_cosf8_core-sse, svml_s_expf16_core-avx2,
|
|
|
|
svml_s_expf4_core-sse2, svml_s_expf8_core-sse,
|
|
|
|
svml_s_logf16_core-avx2, svml_s_logf4_core-sse2,
|
|
|
|
svml_s_logf8_core-sse, svml_s_powf16_core-avx2,
|
|
|
|
svml_s_powf4_core-sse2, svml_s_powf8_core-sse,
|
|
|
|
svml_s_sincosf16_core-avx2, svml_s_sincosf4_core-sse2,
|
|
|
|
svml_s_sincosf8_core-sse, svml_s_sinf16_core-avx2,
|
|
|
|
svml_s_sinf4_core-sse2 and svml_s_sinf8_core-sse.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx2.h: New file.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512.h: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-sse4_1.h: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN2v_cos): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN4v_cos): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN8v_cos): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN2v_exp): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN4v_exp): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN8v_exp): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN2v_log): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN4v_log): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN8v_log): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN2vv_pow): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN4vv_pow): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN8vv_pow): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN2v_sin): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4v_sin): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN8v_sin): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN2vvv_sincos): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN4vvv_sincos): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN8vvv_sincos): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf16_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN16v_cosf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf4_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4v_cosf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_cosf8_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN8v_cosf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf16_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN16v_expf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf4_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4v_expf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_expf8_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN8v_expf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf16_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN16v_logf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf4_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4v_logf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_logf8_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN8v_logf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf16_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN16vv_powf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf4_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4vv_powf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_powf8_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN8vv_powf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf16_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN16vvv_sincosf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf4_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4vvv_sincosf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sincosf8_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN8vvv_sincosf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf16_core-avx2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVeN16v_sinf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf4_core-sse2.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVbN4v_sinf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core.S: Renamed to
|
|
|
|
...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/svml_d_sinf8_core-sse.S: This.
|
|
|
|
Don't include <sysdep.h> nor <init-arch.h>.
|
|
|
|
(_ZGVdN8v_sinf): Removed.
|
|
|
|
|
2017-08-04 22:01:59 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines):
|
|
|
|
Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1,
|
|
|
|
s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1,
|
|
|
|
s_rint-sse4_1 and s_rintf-sse4_1.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__ceil): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__ceilf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__floor): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__floorf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__nearbyint): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__nearbyintf): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__rint): Removed.
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ...
|
|
|
|
* sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't
|
|
|
|
include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>.
|
|
|
|
(__rintf): Removed.
|
|
|
|
|
2017-08-04 21:59:35 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/i386/start.S (_start): Check Check PIC instead of
|
|
|
|
SHARED. Avoid dynamic relocation against main in static PIE.
|
|
|
|
|
2017-08-04 21:58:01 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21815]
|
|
|
|
* elf/Makefile (CFLAGS-tst-prelink.c): New.
|
|
|
|
(LDFLAGS-tst-prelink): Likewise.
|
|
|
|
|
2017-08-04 21:30:22 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
|
|
|
|
Define to I386_USE_SYSENTER to 0 or 1 if not defined.
|
|
|
|
(ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC.
|
|
|
|
(INTERNAL_SYSCALL_MAIN_INLINE): Likewise.
|
|
|
|
(INTERNAL_SYSCALL_NCS): Likewise.
|
|
|
|
(LOADARGS_1): Likewise.
|
|
|
|
(LOADARGS_5): Likewise.
|
|
|
|
(RESTOREARGS_1): Likewise.
|
|
|
|
(RESTOREARGS_5): Likewise.
|
|
|
|
|
2017-08-04 21:27:00 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/memmove.S (MEMCPY_SYMBOL): Don't check SHARED.
|
|
|
|
(MEMPCPY_SYMBOL): Likewise.
|
|
|
|
* sysdeps/x86_64/multiarch/ifunc-impl-list.c
|
|
|
|
(__libc_ifunc_impl_list): Test memcpy and mempcpy in libc.a.
|
|
|
|
* sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Also include
|
|
|
|
in libc.a.
|
|
|
|
* sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise.
|
|
|
|
* sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S:
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/x86_64/multiarch/memcpy.c: Also include in libc.a.
|
|
|
|
(__hidden_ver1): Don't use in libc.a.
|
|
|
|
* sysdeps/x86_64/multiarch/memmove-sse2-unaligned-erms.S
|
|
|
|
(__mempcpy): Don't create a weak alias in libc.a.
|
|
|
|
* sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Support
|
|
|
|
libc.a.
|
|
|
|
* sysdeps/x86_64/multiarch/mempcpy.c: Also include in libc.a.
|
|
|
|
(__hidden_ver1): Don't use in libc.a.
|
|
|
|
|
2017-08-04 21:17:15 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* config.make.in (have-insert): New.
|
|
|
|
* configure.ac (libc_cv_insert): New. Set to yes if linker
|
|
|
|
supports INSERT in linker script.
|
|
|
|
(AC_SUBST(libc_cv_insert): New.
|
|
|
|
* configure: Regenerated.
|
|
|
|
* sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc only
|
|
|
|
if $(have-insert) == yes.
|
|
|
|
|
2017-08-04 20:47:08 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* elf/Makefile (tests): Add vismain only if
|
|
|
|
$(have-protected-data) == yes.
|
|
|
|
(tests-pie): Likewise.
|
|
|
|
|
x86-64: Use _dl_runtime_resolve_opt only with AVX512F [BZ #21871]
On AVX machines with XGETBV (ECX == 1) like Skylake processors,
(gdb) disass _dl_runtime_resolve_avx_opt
Dump of assembler code for function _dl_runtime_resolve_avx_opt:
0x0000000000015890 <+0>: push %rax
0x0000000000015891 <+1>: push %rcx
0x0000000000015892 <+2>: push %rdx
0x0000000000015893 <+3>: mov $0x1,%ecx
0x0000000000015898 <+8>: xgetbv
0x000000000001589b <+11>: mov %eax,%r11d
0x000000000001589e <+14>: pop %rdx
0x000000000001589f <+15>: pop %rcx
0x00000000000158a0 <+16>: pop %rax
0x00000000000158a1 <+17>: and $0x4,%r11d
0x00000000000158a5 <+21>: bnd je 0x16200 <_dl_runtime_resolve_sse_vex>
End of assembler dump.
is slower than:
(gdb) disass _dl_runtime_resolve_avx_slow
Dump of assembler code for function _dl_runtime_resolve_avx_slow:
0x0000000000015850 <+0>: vorpd %ymm0,%ymm1,%ymm8
0x0000000000015854 <+4>: vorpd %ymm2,%ymm3,%ymm9
0x0000000000015858 <+8>: vorpd %ymm4,%ymm5,%ymm10
0x000000000001585c <+12>: vorpd %ymm6,%ymm7,%ymm11
0x0000000000015860 <+16>: vorpd %ymm8,%ymm9,%ymm9
0x0000000000015865 <+21>: vorpd %ymm10,%ymm11,%ymm10
0x000000000001586a <+26>: vpcmpeqd %xmm8,%xmm8,%xmm8
0x000000000001586f <+31>: vorpd %ymm9,%ymm10,%ymm10
0x0000000000015874 <+36>: vptest %ymm10,%ymm8
0x0000000000015879 <+41>: bnd jae 0x158b0 <_dl_runtime_resolve_avx>
0x000000000001587c <+44>: vzeroupper
0x000000000001587f <+47>: bnd jmpq 0x16200 <_dl_runtime_resolve_sse_vex>
End of assembler dump.
(gdb)
since xgetbv takes much more cycles than single cycle operations like
vpord/vvpcmpeq/ptest. _dl_runtime_resolve_opt should be used only with
AVX512 where AVX512 instructions lead to lower CPU frequency on Skylake
server.
[BZ #21871]
* sysdeps/x86/cpu-features.c (init_cpu_features): Set
bit_arch_Use_dl_runtime_resolve_opt only with AVX512F.
2017-08-04 20:14:19 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21871]
|
|
|
|
* sysdeps/x86/cpu-features.c (init_cpu_features): Set
|
|
|
|
bit_arch_Use_dl_runtime_resolve_opt only with AVX512F.
|
|
|
|
|
2017-08-04 19:56:40 +02:00
|
|
|
2017-08-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21790]
|
|
|
|
* sysdeps/i386/i586/memset.S
|
|
|
|
(__memset_zero_constant_len_parameter): Removed.
|
|
|
|
* sysdeps/i386/i686/memset.S
|
|
|
|
(__memset_zero_constant_len_parameter): Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset_chk.S
|
|
|
|
(__memset_zero_constant_len_parameter): Likewise.
|
|
|
|
* sysdeps/x86_64/memset.S (__memset_zero_constant_len_parameter):
|
|
|
|
Likewise.
|
|
|
|
|
2017-08-04 00:35:48 +02:00
|
|
|
2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
|
|
|
* stdlib/getentropy.c (getentropy): Change return type to int.
|
|
|
|
|
2017-08-04 00:33:19 +02:00
|
|
|
2017-08-03 Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated.
|
|
|
|
|
2017-08-03 21:55:04 +02:00
|
|
|
2017-08-03 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* math/s_nextafter.c (__nextafter): Use uintN_t instead of
|
|
|
|
u_intN_t.
|
|
|
|
* math/s_nexttowardf.c (__nexttowardf): Likewise.
|
|
|
|
* sysdeps/generic/math_private.h (ieee_double_shape_type):
|
|
|
|
Likewise.
|
|
|
|
(ieee_float_shape_type): Likewise.
|
|
|
|
* sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Likewise.
|
|
|
|
* sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
|
|
|
|
* sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise.
|
|
|
|
* sysdeps/i386/fpu/s_nexttoward.c (__nexttoward): Likewise.
|
|
|
|
* sysdeps/i386/fpu/s_nexttowardf.c (__nexttowardf): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
|
|
|
|
(__ieee754_yn): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_log10.c (__ieee754_log10): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_rem_pio2.c (__ieee754_rem_pio2):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/e_sinh.c (__ieee754_sinh): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_ceil.c (__ceil): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_copysign.c (__copysign): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_erf.c (__erf): Likewise.
|
|
|
|
(__erfc): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_expm1.c (__expm1): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_finite.c (FINITE): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_floor.c (__floor): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_issignaling.c (__issignaling):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_llround.c (__llround): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_lround.c (__lround): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_modf.c (__modf): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_nextup.c (__nextup): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_remquo.c (__remquo): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_round.c (__round): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/s_trunc.c (__trunc): Likewise.
|
|
|
|
* sysdeps/ieee754/dbl-64/wordsize-64/s_issignaling.c
|
|
|
|
(__issignaling): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_atan2f.c (__ieee754_atan2f): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_fmodf.c (__ieee754_fmodf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_log10f.c (__ieee754_log10f): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_remainderf.c (__ieee754_remainderf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/e_sqrtf.c (__ieee754_sqrtf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_ceilf.c (__ceilf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_copysignf.c (__copysignf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_erff.c (__erff): Likewise.
|
|
|
|
(__erfcf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_expm1f.c (__expm1f): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_finitef.c (FINITEF): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_floorf.c (__floorf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_issignalingf.c (__issignalingf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_llroundf.c (__llroundf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_lroundf.c (__lroundf): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_modff.c (__modff): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_remquof.c (__remquof): Likewise.
|
|
|
|
* sysdeps/ieee754/flt-32/s_roundf.c (__roundf): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_atanhl.c (__ieee754_atanhl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_fmodl.c (__ieee754_fmodl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
|
|
|
|
(__ieee754_ynl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c (__ieee754_rem_pio2l):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_remainderl.c (__ieee754_remainderl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/e_sinhl.c (__ieee754_sinhl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/k_cosl.c (__kernel_cosl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/k_sincosl.c (__kernel_sincosl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/k_sinl.c (__kernel_sinl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_ceill.c (__ceill): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_copysignl.c (__copysignl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_fabsl.c (__fabsl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_floorl.c (__floorl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_frexpl.c (__frexpl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_issignalingl.c (__issignalingl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_modfl.c (__modfl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_nextupl.c (__nextupl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_tanhl.c (__tanhl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128/s_truncl.c (__truncl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/e_remainderl.c
|
|
|
|
(__ieee754_remainderl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c (___fpclassifyl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_modfl.c (__modfl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c (__nexttowardf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-128ibm/s_remquol.c (__remquol): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise.
|
|
|
|
(__ieee754_y0l): Likewise.
|
|
|
|
(pzero): Likewise.
|
|
|
|
(qzero): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
|
|
|
|
(__ieee754_y1l): Likewise.
|
|
|
|
(pone): Likewise.
|
|
|
|
(qone): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
|
|
|
|
(__ieee754_ynl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise.
|
|
|
|
(__ieee754_lgammal_r): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_rem_pio2l.c (__ieee754_rem_pio2l):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/e_sinhl.c (__ieee754_sinhl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_copysignl.c (__copysignl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_erfl.c (__erfl): Likewise.
|
|
|
|
(__erfcl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_frexpl.c (__frexpl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_issignalingl.c (__issignalingl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_modfl.c (__modfl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_nextupl.c (__nextupl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_remquol.c (__remquol): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_roundl.c (__roundl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Likewise.
|
|
|
|
* sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c (__nldbl_nexttowardf):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/m68k/m680x0/fpu/e_pow.c (s(__ieee754_pow)): Likewise.
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_fpclassifyl.c (__fpclassifyl):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_llrint.c (__llrint): Likewise.
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_llrintf.c (__llrintf): Likewise.
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_llrintl.c (__llrintl): Likewise.
|
|
|
|
* sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise.
|
|
|
|
* sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise.
|
|
|
|
|
2017-08-03 12:33:00 +02:00
|
|
|
2017-08-03 Florian Weimer <fweimer@redhat.com>
|
|
|
|
|
|
|
|
[BZ #21885]
|
|
|
|
* sysdeps/posix/getaddrinfo.c (gethosts): Release resolver context
|
|
|
|
on memory allocation failure.
|
|
|
|
|
2017-08-03 08:09:21 +02:00
|
|
|
2017-08-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
* sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from
|
|
|
|
tst-tlsopt-powerpc.c with function name change and no test harness.
|
|
|
|
* sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test.
|
|
|
|
Call tls_get_addr_opt_test.
|
|
|
|
* sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define.
|
|
|
|
(modules-names): Add mod-tlsopt-powerpc.
|
|
|
|
(mod-tlsopt-powerpc.so-no-z-defs): Define.
|
|
|
|
(tst-tlsopt-powerpc): Depend on .so.
|
|
|
|
* sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't
|
|
|
|
define. Expand use in TLS_GD and TLS_LD.
|
|
|
|
|
2017-08-02 23:29:57 +02:00
|
|
|
2017-08-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
|
|
|
|
|
|
* sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define
|
|
|
|
function.
|
2017-08-02 23:07:58 +02:00
|
|
|
* sysdeps/posix/shm_open.c: Include <pthread.h>.
|
2017-08-02 23:29:57 +02:00
|
|
|
|
2017-08-02 22:16:05 +02:00
|
|
|
2017-08-02 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #21686]
|
|
|
|
* math/tgmath.h (__TGMATH_BINARY_REAL_ONLY): Add arguments before
|
|
|
|
comparing size with that of double.
|
|
|
|
(__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
|
|
|
|
(__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_TERNARY_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_REAL_IMAG): Likewise.
|
|
|
|
* math/gen-tgmath-tests.py (Type.init_types): Create __int128 and
|
|
|
|
unsigned __int128 types.
|
|
|
|
|
Remove CFLAG settings that turn off warning (no longer needed).
2017-08-02 Steve Ellcey <sellcey@cavium.com>
* localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove.
2017-08-02 21:57:58 +02:00
|
|
|
2017-08-02 Steve Ellcey <sellcey@cavium.com>
|
|
|
|
|
|
|
|
* localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
|
|
|
|
CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
|
|
|
|
CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
|
|
|
|
CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
|
|
|
|
CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): Remove.
|
|
|
|
|
2017-08-02 19:27:14 +02:00
|
|
|
2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/x86_64/start.S (_start): Check PIC instead of SHARED.
|
|
|
|
|
2017-08-02 19:25:11 +02:00
|
|
|
2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Check PIC instead
|
|
|
|
of SHARED.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise.
|
|
|
|
|
2017-08-02 18:09:01 +02:00
|
|
|
2017-08-02 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
[BZ #21685]
|
|
|
|
* math/tgmath.h (__tgmath_real_type): Use unary + on potentially
|
|
|
|
bit-field expressions passed to sizeof or typeof.
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
(__TGMATH_F128): Likewise.
|
|
|
|
[__HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
|
|
|
|
(__TGMATH_CF128): Likewise.
|
|
|
|
(__TGMATH_UNARY_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_UNARY_REAL_RET_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_FIRST_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_FIRST_REAL_STD_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_REAL_STD_ONLY): Likewise.
|
|
|
|
(__TGMATH_BINARY_REAL_RET_ONLY): Likewise.
|
|
|
|
(__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_TERNARY_REAL_ONLY): Likewise.
|
|
|
|
(__TGMATH_TERNARY_FIRST_REAL_RET_ONLY): Likewise.
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG): Likewise.
|
|
|
|
(__TGMATH_UNARY_IMAG): Likewise.
|
|
|
|
(__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
|
|
|
|
(__TGMATH_BINARY_REAL_IMAG): Likewise.
|
|
|
|
* math/gen-tgmath-tests.py (Type.init_types): Create bit_field
|
|
|
|
type.
|
|
|
|
(define_vars_for_type): Handle bit_field type specially.
|
|
|
|
(Tests.__init__): Declare structure with bit-field element.
|
|
|
|
|
2017-08-02 17:32:00 +02:00
|
|
|
2017-08-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
[BZ #21791]
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
|
|
|
|
(MEMCPY_CHK): Define only if SHARED is defined.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (MEMCPY_CHK):
|
|
|
|
Likewise.
|
|
|
|
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S (MEMCPY_CHK):
|
|
|
|
Likewise.
|
2017-08-02 17:27:34 +02:00
|
|
|
|
|
|
|
See ChangeLog.18 for earlier changes.
|