Commit Graph

34 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
6a5a9278fa librhash: Update build within CMake for rhash 1.4.4 2023-12-01 10:10:51 -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
Aaron Liu
24da80b70a Utilities: Suppress warnings in third-party code with IBMClang 2022-01-27 09:38:01 -05:00
makise-homura
e5d9fce03f LCC: Add dedicated support for MCST LCC compiler
Divert LCC compiler as a new one, instead of treating it as GNU.

Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).

This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.

Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
2021-10-15 05:05:19 +03:00
Brad King
408e6d6185 Utilities: Suppress warnings in third-party code with NVHPC 2021-04-20 11:44:25 -04:00
Brad King
87909f0600 Utilities: Suppress warnings in third-party code when using IntelLLVM 2021-01-28 09:07:00 -05: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
8d3770738c librhash: Update build within CMake for rhash 1.3.9 2020-03-02 17:22:06 -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
1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang 2019-02-25 08:26:17 -05:00
Brad King
214fcefa52 Remove now-unused code once used for MIPSpro on IRIX
In commit beb991110d (Remove now-unused code once used on IRIX,
2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support.
Also remove remnants of MIPSpro compiler support.
2019-02-21 11:12:51 -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
af7ebf8ad3 librhash: Install COPYING file with CMake documentation
When we install using the bundled librhash source, notify users of its
license terms.
2016-11-10 08:26:55 -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