Skip to content

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Jan 27, 2025

Fix the missing_abi lint

Recent versions of Rust require the ABI always be specified for extern functions, whereas it historically defaulted to extern "C". Fix a few cases where this lint now gets raised by specifying extern "C".


Disable RUST_BACKTRACE for FreeBSD CI

Having this environment variable set causes a segfault rust-lang/rust#132185. Just disable backtraces for now.


FreeBSD: Add the new st_filerev field to stat32 for FreeBSD 15

This field appears to have been added recently freebsd/freebsd-src@b4663a8.


Temporarily disable powerpc-unknown-linux-gnu tests

As mentioned in 1, this test has started to fail for unclear reasons. Disable this until it can be investigated further.

@tgross35 tgross35 added the stable-nominated This PR should be considered for cherry-pick to libc's stable release branch label Jan 27, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jan 27, 2025

@tgross35: no appropriate reviewer found, use r? to override

Recent versions of Rust require the ABI always be specified for `extern`
functions, whereas it historically defaulted to `extern "C"`. Fix a few
cases where this lint now gets raised by specifying `extern "C"`.
@tgross35 tgross35 enabled auto-merge January 27, 2025 07:05
@rustbot rustbot added the A-CI Area: CI-related items label Jan 27, 2025
@tgross35
Copy link
Contributor Author

error: linker stderr: ld: ignoring duplicate libraries: '-lc', '-lm'

This must be new

@tgross35
Copy link
Contributor Author

tgross35 commented Jan 27, 2025

On ppc error: linker stderr: /usr/lib/gcc-cross/powerpc-linux-gnu/13/../../../../powerpc-linux-gnu/bin/ld: bss-plt forced due to /checkout/target/powerpc-unknown-linux-gnu/debug/deps/libc-1418d2c3ba41e79e.bn05wnafzhhjwo0wbk74h1tni.rcgu.o

Windows: Warning: corrupt .drectve at end of def file

@tgross35
Copy link
Contributor Author

That warning gets downgraded in rust-lang/rust#136098, we can wait for that.

@tgross35
Copy link
Contributor Author

The FreeBSD failures look like rust-lang/cargo#15092

@tgross35 tgross35 added this pull request to the merge queue Jan 28, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 28, 2025
@pheki
Copy link
Contributor

pheki commented Feb 5, 2025

For the FreeBSD jobs, if rust-lang/cargo#15092 is the same issue, maybe disabling backtraces on cirrus could work?

ci/run.sh defaults it to 1, but we should be able to explicitly pass 0 on it on .cirrus.yml:

diff --git a/.cirrus.yml b/.cirrus.yml
index 656696c82..798a36dcc 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -27,5 +27,5 @@ task:
     - if [ "$TARGET" = "i686-unknown-freebsd" ]; then rustup target add i686-unknown-freebsd; fi
   test_script:
     - . $HOME/.cargo/env
-    - LIBC_CI=1 sh ci/run.sh $TARGET
+    - LIBC_CI=1 RUST_BACKTRACE=0 sh ci/run.sh $TARGET
     - sh ci/run.sh $TARGET

@tgross35
Copy link
Contributor Author

tgross35 commented Feb 5, 2025

Thanks for the writeup. I do plan to try that out, just haven't had a chance to circle back to this yet.

Having this environment variable set causes a segfault [1]. Just disable
backtraces for now.

[1]: rust-lang/rust#132185
@rustbot rustbot added the O-unix label Feb 5, 2025
@tgross35 tgross35 changed the title Fix the missing_abi lint Resolve various CI issues Feb 5, 2025
@tgross35
Copy link
Contributor Author

tgross35 commented Feb 5, 2025

Fyi @asomers the third commit here adds a field to stat32 that seems to be new in FreeBSD 15 freebsd/freebsd-src@b4663a8.

@tgross35
Copy link
Contributor Author

tgross35 commented Feb 5, 2025

No idea what the PPC failure is about

     Running test/main.rs (target/powerpc-unknown-linux-gnu/debug/deps/main-cbb4a863e45d0841)
error: test failed, to rerun pass `-p libc-test --test main`

Caused by:
  process didn't exit successfully: `qemu-ppc -L /usr/powerpc-linux-gnu /checkout/target/powerpc-unknown-linux-gnu/debug/deps/main-cbb4a863e45d0841 --skip check_style` (signal: 4, SIGILL: illegal instruction)

I am going to disable that for now in order to get CI unstuck.

As mentioned in [1], this test has started to fail for unclear reasons.
Disable this until it can be investigated further.

[1]: rust-lang#4254 (comment)
@tgross35 tgross35 added this pull request to the merge queue Feb 5, 2025
Merged via the queue into rust-lang:main with commit 9ea78dc Feb 5, 2025
44 checks passed
@tgross35 tgross35 deleted the fix-missing-abi branch February 5, 2025 11:03
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
Recent versions of Rust require the ABI always be specified for `extern`
functions, whereas it historically defaulted to `extern "C"`. Fix a few
cases where this lint now gets raised by specifying `extern "C"`.

(backport <rust-lang#4254>)
(cherry picked from commit c9a71dc)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
Having this environment variable set causes a segfault [1]. Just disable
backtraces for now.

[1]: rust-lang/rust#132185

(backport <rust-lang#4254>)
(cherry picked from commit 8d8a199)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
This field appears to have been added recently [1].

[1]: freebsd/freebsd-src@b4663a8

(backport <rust-lang#4254>)
(cherry picked from commit f691a1a)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
As mentioned in [1], this test has started to fail for unclear reasons.
Disable this until it can be investigated further.

[1]: rust-lang#4254 (comment)

(backport <rust-lang#4254>)
(cherry picked from commit eb7045b)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
Recent versions of Rust require the ABI always be specified for `extern`
functions, whereas it historically defaulted to `extern "C"`. Fix a few
cases where this lint now gets raised by specifying `extern "C"`.

(backport <rust-lang#4254>)
(cherry picked from commit c9a71dc)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
Having this environment variable set causes a segfault [1]. Just disable
backtraces for now.

[1]: rust-lang/rust#132185

(backport <rust-lang#4254>)
(cherry picked from commit 8d8a199)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
This field appears to have been added recently [1].

[1]: freebsd/freebsd-src@b4663a8

(backport <rust-lang#4254>)
(cherry picked from commit f691a1a)
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Feb 14, 2025
As mentioned in [1], this test has started to fail for unclear reasons.
Disable this until it can be investigated further.

[1]: rust-lang#4254 (comment)

(backport <rust-lang#4254>)
(cherry picked from commit eb7045b)
@tgross35 tgross35 mentioned this pull request Feb 14, 2025
@tgross35 tgross35 added stable-applied This PR has been cherry-picked to libc's stable release branch and removed stable-nominated This PR should be considered for cherry-pick to libc's stable release branch labels Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-CI Area: CI-related items O-unix S-waiting-on-review stable-applied This PR has been cherry-picked to libc's stable release branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants