Commit Graph

25 Commits

Author SHA1 Message Date
Dilshod Mukhtarov 628a807730 librhash: aligned_alloc is not available with glibc < 2.16
Revise the version check from commit e14300816b (librhash: aligned_alloc
is not available with glibc < 2.15, 2024-02-14, v3.29.0-rc2~30^2).

Issue: #25679
2024-09-09 09:45:04 -04:00
Brad King e14300816b librhash: aligned_alloc is not available with glibc < 2.15 2024-02-14 09:47:47 -05:00
Brad King 54eafb156f librhash: aligned_alloc is not available with IBM XLClang on Linux
The declaration exists in `<stdlib.h>` but the compiler warns about
its allocation alignment attribute.
2023-12-01 10:09:54 -05:00
Brad King 838bdb4b37 librhash: aligned_alloc is not available on Solaris 2023-12-01 08:52:33 -05:00
Brad King 33e9e3438c librhash: Remove source fragments not needed for CMake
Extend commit 53048afa8d (librhash: Remove source fragments not needed
for CMake, 2016-11-03, v3.8.0-rc1~262^2~9) for fragments new after
updating to librhash 1.4.4.
2023-11-28 18:54:33 -05:00
Brad King 15bb13bc51 Merge branch 'upstream-librhash' into update-librhash
* upstream-librhash:
  librhash 2023-07-14 (cfe77846)
2023-11-28 18:53:51 -05:00
Brad King 5ec464a76f librhash: Suppress clang-analyzer warnings 2023-05-22 16:51:15 -04:00
Brad King 4a283fcc31 librhash: Explicitly enable large file support on 32-bit targets
`_LARGEFILE_SOURCE` is needed at least on SunOS i386 if compiler
extensions are not enabled.
2022-06-04 08:15:20 -04:00
Marc Chevrier 2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix
Fixes: #20666
2020-05-07 12:06:08 +02:00
Brad King 4cfadf3bc6 librhash: Fix -Wdocumentation warning about @param name 2020-03-03 07:55:03 -05:00
Brad King 471ebc590e Merge branch 'upstream-librhash' into update-librhash
* upstream-librhash:
  librhash 2019-12-14 (75716b45)
2020-03-02 16:58:34 -05:00
Brad King 574666b6cb librhash: Avoid incorrect int8_t definition with PGI on Linux ppc64le
`sys/types.h` defines `int8_t` incorrectly as `char` which is unsigned.
Adjust ordering so `inttypes.h` defines it as `signed char` first.
2018-08-09 11:51:22 -04:00
Brad King a0af10e423 Merge topic 'librhash-left-shift-unsigned'
9e07ffa4 librhash: Avoid signed left-shift overflow in sha256
2016-11-29 08:58:59 -05:00
Brad King 9e07ffa4e4 librhash: Avoid signed left-shift overflow in sha256
Fix `rhash_sha256_final` to use unsigned integers for left shifting to
avoid the possibility of undefined overflow behavior.
2016-11-29 08:30:25 -05:00
Brad King 7a79f7e3c1 librhash: Activate SHA-3 implementation 2016-11-10 15:48:41 -05:00
Brad King 87584b5e9d Merge branch 'upstream-librhash' into add-SHA-3
* upstream-librhash:
  librhash 2016-11-06 (de79828d)
2016-11-10 15:42:32 -05:00
Brad King d0ff3e701c librhash: Port to KWIML for ABI and integer type information 2016-11-10 08:29:37 -05:00
Brad King 465a85fb46 librhash: Avoid signed left-shift overflow
Fix `rhash_md5_final` to use unsigned integers for left shifting to
avoid the possibility of undefined overflow behavior.
2016-11-10 08:29:36 -05:00
Brad King fc2cb74fee librhash: Implement bswap_32 as a function even in strict C90 mode
We cannot fall back to the macro implementation because some call sites
may call it with an argument like `*ptr++` that has side effects.
2016-11-10 08:29:36 -05:00
Brad King 0bd333bc2e librhash: Implement bswap_64 even in strict C90 mode 2016-11-10 08:29:36 -05:00
Brad King 7189d62c32 librhash: Use __builtin_bswap{32,64} on Clang 2016-11-10 08:28:57 -05:00
Brad King bb01f20e99 librhash: Disable warnings to avoid changing 3rd party code
Add '-w' or equivalent flag on compilers supporting it.
Tell MSVC to use its lowest warning level inside librhash sources.
2016-11-10 08:26:55 -05:00
Brad King 31bb727f3b librhash: Build the library within CMake
Update `ustd.h` to include KWSys Large File Support configuration so
that consistent stream libraries are used (on AIX with XL).

Add a `cm_rhash.h` header to include the CMake-provided copy of the
`rhash.h` header from CMake sources.
2016-11-10 08:26:54 -05:00
Brad King 53048afa8d librhash: Remove source fragments not needed for CMake
We only need a subset of the hash algorithms supported by librhash.
Add preprocessor conditionals to remove source fragments that we do
not need.  Write an alternative algorithm enumeration that matches
the indexing on our reduced array.

Also remove a few fragments outright.
2016-11-10 08:26:54 -05:00
Brad King 5cb1b345d9 Merge branch 'upstream-librhash' into import-librhash
* upstream-librhash:
  librhash 2016-11-01 (d839a1a8)
2016-11-03 13:45:29 -04:00