]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Merge branch 'versioned-symbols' into master
authorNiels Möller <nisse@lysator.liu.se>
Thu, 5 Feb 2015 19:54:39 +0000 (20:54 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Thu, 5 Feb 2015 19:54:39 +0000 (20:54 +0100)
1  2 
.gitignore
ChangeLog
Makefile.in
aclocal.m4
configure.ac

diff --cc .gitignore
Simple merge
diff --cc ChangeLog
index 9fd2d8f6b1cc143373250bc7e10488bbcbbea6ce,79c81cfb433708fd5443d295b5686deaf92a9800..faaf7e0deb2b1438a996a0f60c018573183ed9e0
+++ b/ChangeLog
 +2015-01-30  Niels Möller  <nisse@lysator.liu.se>
 +
 +      Update chacha-poly1305 for draft-irtf-cfrg-chacha20-poly1305-08.
 +      * chacha-poly1305.h (CHACHA_POLY1305_NONCE_SIZE): Increase to 12
 +      bytes, i.e., CHACHA_NONCE96_SIZE.
 +      * chacha-poly1305.c (chacha_poly1305_set_nonce): Use
 +      chacha_set_nonce96.
 +      (poly1305_pad): New function.
 +      (chacha_poly1305_encrypt): Use poly1305_pad.
 +      (chacha_poly1305_digest): Call poly1305_pad, and format length
 +      fields as a single poly1305 block.
 +
 +      * chacha-set-nonce.c (chacha_set_nonce96): New function.
 +      * chacha.h (CHACHA_NONCE96_SIZE): New constant.
 +      * testsuite/chacha-test.c: Add test for chacha with 96-bit nonce.
 +
 +2015-01-27  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * ecc.h: Deleted declarations of unused itch functions. Moved
 +      declarations of internal functions to...
 +      * ecc-internal.h: ...new location. Also added a leading under
 +      score on the symbols.
 +      (ecc_a_to_j, ecc_j_to_a, ecc_eh_to_a, ecc_dup_jj, ecc_add_jja)
 +      (ecc_add_jjj, ecc_dup_eh, ecc_add_eh, ecc_add_ehh, ecc_mul_g)
 +      (ecc_mul_a, ecc_mul_g_eh, ecc_mul_a_eh): Affected functions.
 +
 +2015-01-26  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * ecc-add-eh.c (ecc_add_eh_itch): Deleted.
 +      * ecc-add-ehh.c (ecc_add_ehh_itch): Deleted.
 +      * ecc-add-jja.c (ecc_add_jja_itch): Deleted.
 +      * ecc-add-jjj.c (ecc_add_jjj_itch): Deleted.
 +      * ecc-dup-eh.c (ecc_dup_eh_itch): Deleted.
 +      * ecc-dup-jj.c (ecc_dup_jj_itch): Deleted.
 +      * ecc-eh-to-a.c (ecc_eh_to_a_itch): Deleted.
 +      * ecc-j-to-a.c (ecc_j_to_a_itch): Deleted.
 +      * ecc-mul-a-eh.c (ecc_mul_a_eh_itch): Deleted.
 +      * ecc-mul-a.c (ecc_mul_a_itch): Deleted.
 +      * ecc-mul-g-eh.c (ecc_mul_g_eh_itch): Deleted.
 +      * ecc-mul-g.c (ecc_mul_g_itch): Deleted.
 +
 +2015-01-25  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * arm/fat/sha1-compress-2.asm: New file.
 +      * arm/fat/sha256-compress-2.asm: Likewise.
 +      * fat-arm.c (fat_init): Setup for use of additional v6 assembly
 +      functions.
 +
 +      * sha1-compress.c: Prepare for fat build with C and assembly
 +      implementations.
 +      * sha256-compress.c: Likewise.
 +
 +      * fat-setup.h (sha1_compress_func, sha256_compress_func): New typedefs.
 +
 +      * configure.ac (asm_nettle_optional_list): Added
 +      sha1-compress-2.asm and sha256-compress-2.asm, and corresponding
 +      HAVE_NATIVE_*.
 +
 +      From Martin Storsjö:
 +      * arm: Add .arch directives for armv6. This allows building these
 +      files as part of a fat build, even if the assembler by default
 +      targets a lower architecture version.
 +
 +2015-01-23  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * fat-setup.h (DEFINE_FAT_FUNC): Check value of function pointer,
 +      before calling fat_init. Should be correct even without memory
 +      barrier.
 +      * fat-x86_64.c (fat_init): Deleted static variable initialized.
 +      The checks of the relevant pointer in DEFINE_FAT_FUNC is more
 +      robust.
 +      * fat-arm.c (fat_init): Likewise.
 +
 +2015-01-21  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * fat-arm.c (fat_init): Setup for use of neon assembly functions.
 +
 +      * arm/fat/salsa20-core-internal-2.asm: New file.
 +      * arm/fat/sha3-permute-2.asm: New file.
 +      * arm/fat/sha512-compress-2.asm: New file.
 +      * arm/fat/umac-nh-2.asm: New file.
 +      * arm/fat/umac-nh-n-2.asm: New file.
 +
 +      * salsa20-core-internal.c: Prepare for fat build with C and
 +      assembly implementations.
 +      * sha512-compress.c: Likewise.
 +      * sha3-permute.c: Likewise.
 +      * umac-nh.c: Likewise.
 +      * umac-nh-n.c: Likewise.
 +
 +      * configure.ac (asm_nettle_optional_list): Added more *-2.asm
 +      files, and corresponding HAVE_NATIVE_* defines. Recognize PROLOGUE
 +      macro in asm files, also when not at the start of the line.
 +
 +2015-01-20  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * fat-arm.c (get_arm_features): Check NETTLE_FAT_OVERRIDE
 +      environment variable.
 +
 +      * fat-x86_64.c (get_x86_features): New function. Check
 +      NETTLE_FAT_OVERRIDE environment variable.
 +      (fat_init): Use it.
 +
 +      * fat-setup.h (secure_getenv) [!HAVE_SECURE_GETENV]: Dummy
 +      definition, returning NULL.
 +      (ENV_OVERRIDE): New constant.
 +
 +      * configure.ac: Check for secure_getenv function.
 +
 +2015-01-19  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * configure.ac: Fat library setup for arm.
 +      * fat-arm.c: New file.
 +      * arm/fat/aes-encrypt-internal.asm: New files.
 +      * arm/fat/aes-encrypt-internal-2.asm: New file.
 +      * arm/fat/aes-decrypt-internal.asm: New file.
 +      * arm/fat/aes-decrypt-internal-2.asm: New file.
 +
 +      * Makefile.in (DISTFILES): Added fat-setup.h.
 +
 +      * fat-setup.h: New file, declarations moved from...
 +      * fat-x86_64.c: ... old location
 +
 +2015-01-17  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * fat-x86_64.c (DECLARE_FAT_FUNC, DEFINE_FAT_FUNC)
 +      (DECLARE_FAT_FUNC_VAR): New macros, to define needed resolver and
 +      wrapper functions.
 +
 +      * config.m4.in (SYMBOL_PREFIX): Define from from autoconf
 +      ASM_SYMBOL_PREFIX.
 +      (C_NAMS): move definition to...
 +      * asm.m4 (C_NAME): Define here, also take fat_transform.
 +      (fat_suffix): Replaced by...
 +      (fat_transform): New macro, taking symbol nama as argument.
 +      Updated all uses of fat_suffix.
 +      * fat-x86_64.c: Updated for internal "_nettle" prefix on
 +      cpu-specific memxor functions.
 +
 +      * fat-x86_64.c: Set up for sse2 vs non-sse2 memxor. Patch by Nikos
 +      Mavrogiannopoulos.
 +      * configure.ac (asm_nettle_optional_list): Added memxor-2.asm.
 +      * x86_64/fat/memxor-2.asm: New file.
 +      * x86_64/fat/memxor.asm: New file.
 +
 +      * x86_64/memxor.asm: Use ifdef, not ifelse, for testing USE_SSE2.
 +
 +2015-01-16  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * configure.ac (OPT_NETTLE_SOURCES): New substituted variable.
 +      (asm_path): Fixed x86_64 fat setup. Include only x86_64 and
 +      x86_64/fat in the asm_path. Put fat-x86_64.c in
 +      OPT_NETTLE_SOURCES, with no symlinking.
 +
 +      * fat-x86_64.c: Renamed,...
 +      * x86_64/fat/fat.c: ... from old name.
 +
 +2015-01-13  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * x86_64/fat/fat.c: For constructor hack, check
 +      HAVE_GCC_ATTRIBUTE, not __GNUC__. Also support sun compilers, as
 +      suggested by Nikos Mavrogiannopoulos, and attch the constructor
 +      attribute directly to fat_init.
 +      (fat_constructor): Deleted wrapper function.
 +
 +      * x86_64/fat/fat.c: New file, initialization for x86_64 fat
 +      library.
 +
 +      * x86_64/fat/cpuid.asm (_nettle_cpuid): New file and function.
 +
 +      * x86_64/fat/aes-encrypt-internal.asm: New file, including
 +      x86_64/aes-encrypt-internal.asm, after setting fat_suffix to
 +      _x86_64.
 +      * x86_64/fat/aes-decrypt-internal.asm: New file, analogous setup.
 +      * x86_64/fat/aes-encrypt-internal-2.asm: New file, including
 +      x86_64/aesni/aes-encrypt-internal.asm, after setting fat_suffix to
 +      _aesni.
 +      * x86_64/fat/aes-decrypt-internal.asm-2: New file, analogous
 +      setup.
 +
 +      * configure.ac: New command line option --enable-fat.
 +      (asm_nettle_optional_list): Added cpuid.asm, fat.c,
 +      aes-encrypt-internal-2.asm, and aes-decrypt-internal-2.asm.
 +
 +      * asm.m4 (fat_suffix): New suffix added to symbol names.
 +
 +      * x86_64/aesni/aes-encrypt-internal.asm: Use explicit .byte
 +      sequences for aes instructions, don't rely on assembler support.
 +      * x86_64/aesni/aes-decrypt-internal.asm: Likewise.
 +
 +      * aclocal.m4 (NETTLE_CHECK_IFUNC): New macro, checking for ifunc
 +      and settting HAVE_LINK_IFUNC if working.
 +      * configure.ac: Use it.
 +
 +2015-01-12  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * asm.m4 (DECLARE_FUNC): New macro, extracted from PROLOGUE.
 +      (PROLOGUE): Use it.
 +
 +      * configure.ac (OPT_NETTLE_OBJS, OPT_HOGWEED_OBJS): Renamed
 +      substituted variables, and list the object files rather than
 +      source files.
 +      (OPT_ASM_NETTLE_SOURCES, OPT_ASM_HOGWEED_SOURCES): ...Old names.
 +      * Makefile.in (OPT_NETTLE_OBJS, OPT_HOGWEED_OBJS): Use new
 +      variables.
 +
 +2015-01-11  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * x86_64/aesni/aes-decrypt-internal.asm: New file.
 +      * x86_64/aesni/aes-encrypt-internal.asm: New file.
 +      * configure.ac: New configure flag --enable-x86-aesni.
 +
 +      * aclocal.m4 (LSH_RPATH_INIT): Handle freebsd, in the same way as
 +      gnu/linux, with -Wl,-rpath,.
 +
 +      Merged memxor-reorg changes, starting at 2014-10-23.
 +
 +2015-01-10  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * arm/memxor.asm (memxor3): Moved to new file.
 +      * arm/memxor3.asm: New file.
 +
 +2014-11-24  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * x86_64/memxor3.asm (memxor3): New file, code moved from old
 +      memxor.asm.
 +      * x86_64/memxor.asm (memxor): Rewritten, no longer jumps into
 +      memxor3.
 +
 +      * configure.ac (asm_replace_list): Added memxor.asm and
 +      memxor3.asm.
 +
 +2014-10-23  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * configure.ac (IF_ASM): New substituted variable.
 +      * testsuite/Makefile.in (VALGRIND): Allow partial loads only when
 +      build includes assembly files.
 +
 +      * memxor-internal.h (READ_PARTIAL): New macro.
 +      * memxor.c (memxor_different_alignment): Avoid out-of-bounds
 +      reads, corresponding to valgrind's --partial-loads-ok. Use
 +      READ_PARTIAL.
 +      * memxor3.c: Analogous changes for unaligned operations.
 +
 +      * configure.ac (asm_replace_list): Deleted memxor.asm, now
 +      incompatible with the memxor/memxor3 split.
 +
 +      * memxor3.c: New file, split off from memxor.c.
 +      * memxor-internal.h: New file, declarations shared by memxor.c and
 +      memxor3.c.
 +      * memxor.c: memxor3 fucntions moved out from this file.
 +      * Makefile.in (nettle_SOURCES): Added memxor3.c.
 +      (DISTFILES): Added memxor-internal.h.
 +
 +      * memxor.c (memxor_common_alignment, memxor_different_alignment)
 +      (memxor): Change loop order, iterate from the end.
 +      (memxor3_common_alignment): Unroll twice.
 +      (word_t): On x86_64, unconditionally define as uint64_t, to get 64
 +      bits also in M$ windows. Replaced all uses of SIZEOF_LONG.
 +
 +2014-12-12  Niels Möller  <nisse@lysator.liu.se>
 +
 +      * cbc.h (CBC_ENCRYPT, CBC_DECRYPT): Make type-checking hack
 +      stricter, warn if type of length argument is smaller than size_t.
 +      * ctr.h (CTR_CRYPT): Likewise.
 +      * eax.h (EAX_SET_KEY, EAX_SET_NONCE, EAX_UPDATE, EAX_ENCRYPT)
 +      (EAX_DECRYPT, EAX_DIGEST): Likewise.
 +      * gcm.h (GCM_SET_KEY, GCM_ENCRYPT, GCM_DECRYPT, GCM_DIGEST):
 +      Likewise.
 +
+ 2014-12-08  Niels Möller  <nisse@lysator.liu.se>
+       * aclocal.m4 (LD_VERSION_SCRIPT): Linker scripts no longer located
+       in the source tree.
+       * configure.ac (LIBNETTLE_MAJOR): Bump major number, now 6.
+       (LIBHOGWEED_MAJOR): Bump major number, now 5.
+       From Nikos Mavrogiannopoulos. Support for versioned symbols.
+       * aclocal.m4 (LD_VERSION_SCRIPT): New macro. Substitute
+       EXTRA_LINKER_FLAGS and EXTRA_HOGWEED_LINKER_FLAGS.
+       * configure.ac: Use LD_VERSION_SCRIPT. Generate libnettle.map
+       and libhogweed.map.
+       (HOGWEED_EXTRA_SYMBOLS): New substituted variable.
+       * libnettle.map.in: New file, libnettle.so linker script
+       * libhogweed.map.in: New file, libhogweed.so linker script.
+       * Makefile.in ($(LIBNETTLE_FORLINK)): Use EXTRA_LINKER_FLAGS.
+       ($(LIBHOGWEED_FORLINK)): Use EXTRA_HOGWEED_LINKER_FLAGS.
  2014-11-24  Niels Möller  <nisse@lysator.liu.se>
  
        * gcm.h (GCM_SET_KEY): Rename macro argument KEY to avoid
diff --cc Makefile.in
Simple merge
diff --cc aclocal.m4
Simple merge
diff --cc configure.ac
Simple merge