]> git.ipfire.org Git - thirdparty/curl.git/commit
build: set `-O3` and tune WinCE in CI, fix `getpart`, `vtls_scache` fallouts
authorViktor Szakats <commit@vsz.me>
Tue, 25 Feb 2025 13:38:41 +0000 (14:38 +0100)
committerViktor Szakats <commit@vsz.me>
Wed, 26 Feb 2025 20:23:11 +0000 (21:23 +0100)
commitc028a243f2edfc64fa7e3199261e277104a3be98
tree6e59a9e7bd3dfdea7602878a321f6d41ce3542b0
parent4f98f354b12a1a0524af1ef1df8371fe99b32677
build: set `-O3` and tune WinCE in CI, fix `getpart`, `vtls_scache` fallouts

- GHA/windows/WinCE:
  - set `-O3 -DNDEBUG` C flags manually for the CMake mingw32ce build.
    CMake doesn't recognize the platform and fails to add them. To match
    autotools (using `-O2`), and hit similar compiler warnings.
  - enable parallel builds for cmake.
  - tune parallelism for cmake using unity batches.
  - tune parallelism for autotools.

  Follow-up to 2a292c39846107228201674d686be5b3ed96674d #15975

- tests: fix potentially uninitialized value in `readline()` in
  `getpart.c`. Detected by gcc 4.4.0 `-O2` (Windows CE) jobs:
  ```
  tests/server/getpart.c: In function 'getpart':
  tests/server/getpart.c:298: error: 'datalen' may be used uninitialized in this function
  ```
  Ref: https://github.com/curl/curl/actions/runs/13522595237/job/37785147505?pr=16476#step:11:25
  Follow-up to 592880a3caf0b6f48b1dda6fbcf6a734237fcd43

- vtls_scache: rework returning pointer to avoid compiler warning seen
  with `-O3` gcc 4.4.0 builds (Windows CE/schannel):
  ```
  lib/vtls/schannel.c: In function 'schannel_connect_step1':
  lib/vtls/vtls_scache.c:975: error: dereferencing pointer 'old_cred.4474' does break strict-aliasing rules
  lib/vtls/vtls_scache.c:985: error: dereferencing pointer 'old_cred.4474' does break strict-aliasing rules
  lib/vtls/schannel.c:959: note: initialized from here
  ```
  Ref: https://github.com/curl/curl/actions/runs/13523868335/job/37789610845#step:9:25
  Follow-up to fa0ccd9f1fbbbd77bf50b26e3ba231ea6c729474 #15774

Closes #16476
.github/workflows/windows.yml
lib/vtls/schannel.c
lib/vtls/sectransp.c
lib/vtls/vtls_scache.c
lib/vtls/vtls_scache.h
tests/server/getpart.c