kc3-lang/libbsd/test

Branch :


Log

Author Commit Date CI Message
b62f36f3 2024-03-13 23:34:55 test: nlist: make resilient against -Wl,--gc-sections With linker sections GC enabled, we get a test failure in `nlist.c`: ``` nlist: nlist.c:72: main: Assertion `rc == 0' failed. ``` This turns out to be because several sections used by the test can be discarded: ``` ld: removing unused section '.text.func_pub' in file 'nlist.o' ld: removing unused section '.bss.data_pub_uninit' in file 'nlist.o' ld: removing unused section '.data.data_pub_init' in file 'nlist.o' ``` Reproduced with `CFLAGS="-Og -fdata-sections -ffunction-sections"` and `LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,-z,start-stop-gc"`. Additionally, `LDFLAGS="... -Wl,--print-gc-sections"` can help with diagnosing which sections get removed. We already mark these symbols as `used`, but we need `retain` [0] for them to survive linker GC too. [0] https://releases.llvm.org/18.1.0/tools/lld/docs/ELF/start-stop-gc.html#annotate-c-identifier-name-sections Closes: !29 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Guillem Jover <guillem@hadrons.org>
32d18dcf 2024-02-09 04:32:12 Add explicit time32 and time64 support Handle the three potential system scenarios: - system time_t is time64 - system time_t is time32 and supports time64 - system time_t is time32 and does not support time64 Add the explicit time32 and time64 functions when necessary and map them accordingly for each of these cases.
be4aced4 2024-02-11 23:55:40 build: Make almost all exposed interfaces use the new ABI selection Explicitly select what to include as part of the target ABI, instead of letting autoconfiguration potentially break ABI if the system grows functionality provided by the library. Make almost all the library selectable per target. Do not install manual pages for interfaces not included in the library. Control inclusion of symbols in map file via pre-processor macros, and move the comments describing the ABI selection to configure.ac. For now the header files are included as is and filtered through pre-processor conditionals. Eventually they might get switched to be autogenerated at build time.
99739877 2024-02-14 04:59:44 build: Rename ABI selection variables from need_ to abi_ This should make the purpose of these variables more clear.
a81d0b71 2024-02-11 23:55:40 build: Sort variables and their contents in automake files This should make it easier to add new entries, and find them afterwards.
dd0bdb58 2024-01-08 01:58:54 test: Close all descriptors before initializing them for closefrom() On macOS, closefrom() only sets the close-on-exec flag, so we cannot check whether all file descriptors were closed, which means that if on entry our file descriptor table was filled after the 4th file descriptor, then we might fail the assertions for the flags for odd file descriptors which we expect to be closed. This can easily happen when running the test suite in parallel mode with «make -j8 check» for example. Closes: #23
a44f885c 2023-11-14 19:08:15 test: Fix short-lived memory leak Warned-by: cppcheck
dc1bd1a2 2023-04-23 02:00:10 build: Conditionalize only id-from-name functions not the entire pwcache On macOS the name-from-id functions are present, but not the id-from-name ones, so we want to provide those instead of suppressing the entire file.
edc746ea 2023-04-22 22:47:10 build: Conditionalize getprogname()/setprogname on macOS These functions are provided by the system libc, so there is no need for us to provide them.
90b7f3ae 2023-04-17 23:59:19 test: Do not use /dev/null as compiler output file Some ld(1) implementations, such as the one on AIX, do not support using /dev/null as the output filename for the compiled object. Use an actual filename that we will then clean up.