Skip to content

Need regression test for wasm linker override=clang (108910) #109728

Description

@pnkfelix

As noted in #108996 (comment), I don't want to delay the fix further on the CI issues I was having with my regression test.

This issue is just tracking a (hopefully simple?) work item to make such a regression test, e.g. using the one from 568b722 after figuring out how to make the CI happy (see error CI posted here: #108996 (comment) )

Activity

  1. added
    E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.
    E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Mar 29, 2023
  2. agaraman0 commented on Mar 29, 2023

    @agaraman0

    @pnkfelix i would like to pick this

  3. jyn514 commented on Apr 3, 2023

    @jyn514
    Member

    @agaraman0 go for it :) you can use @rustbot claim to assign yourself. See https://rustc-dev-guide.rust-lang.org/getting-started.html for more instructions.

  4. ndrewxie commented on Apr 5, 2023

    @ndrewxie
    Contributor

    Full disclaimer, I'm not an experienced contributor to open source, nor will I pretend to be, so take the below with a grain of salt:

    If we're just checking to see if the link-arg=-nostartfiles is being emitted, would it suffice to just capture the link flags (e.g. using RUSTC_LOG=rustc_codegen_ssa::back::link=info) and check if this option is present through a simple string find? That way, even if clang isn't present in the CI environment, the functionality can still be verified. This is certainly brittle to some degree, so not ideal...

    Although it does seem strange that clang isn't available... Your wording of "make the CI happy" seems to imply that there's a workaround of sorts - if so, could you provide a few pointers? I'd be happy to investigate

  5. jyn514 commented on Apr 5, 2023

    @jyn514
    Member

    @ndrewxie feel free to install clang on any of the CI builders, look for apt install in src/ci for examples.

  6. ndrewxie commented on Apr 5, 2023

    @ndrewxie
    Contributor

    @jyn514 Oh dang I didn't expect to have the perms to do that in a CI environment. Thank you! I'll test that approach and add a test :)

  7. ndrewxie commented on Apr 6, 2023

    @ndrewxie
    Contributor

    @ndrewxie feel free to install clang on any of the CI builders, look for apt install in src/ci for examples.

    Hmm, there appears to already be a script that installs clang, located in /src/ci/scripts/install-clang.sh. However, it chooses to not install it for linux under the assumption that every system would already have clang installed and configured properly.

    Note that we don't install clang on Linux since its compiler story is just so different. Each container has its own toolchain configured appropriately already.

    Would it be safe for me to apt install it anyways, or is there a risk that clang acquired from the package manager would be configured improperly and mess something up?

  8. jyn514 commented on Apr 6, 2023

    @jyn514
    Member

    As long as the new test passes and no other test regresses, it's probably ok. We don't have a hard dependency on the version of clang like we do for LLVM and the bootstrap compiler.

  9. ndrewxie commented on Apr 26, 2023

    @ndrewxie
    Contributor

    Is this being worked on ? I'd like to give it a try

    Afaik it's not being worked on. Good luck!

  10. jyn514 commented on May 1, 2023

    @jyn514
    Member

    @InfRandomness yup, that sounds right :)

  11. reez12g commented on Sep 29, 2023

    @reez12g
    Contributor

    @rustbot claim

  12. added a commit that references this issue on Oct 2, 2023
  13. added a commit that references this issue on Oct 8, 2023
  14. added 3 commits that reference this issue on Oct 9, 2023
  15. Dylan-DPC commented on Nov 17, 2023

    @Dylan-DPC
    Member

    Closing as #116264 resolves it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions