Giter VIP home page Giter VIP logo

Comments (7)

onur-ozkan avatar onur-ozkan commented on May 24, 2024 1

I just remember we have BOOTSTRAP_SKIP_TARGET_SANITY for this. You could simply execute BOOTSTRAP_SKIP_TARGET_SANITY=1 x check library/std --target=aarch64-kmc-solid_asp3 which should work just fine.

I need to list/document all these configurations somewhere..

from rust.

ChrisDenton avatar ChrisDenton commented on May 24, 2024 1

Ah thanks. I did not know about BOOTSTRAP_SKIP_TARGET_SANITY. This does allow me to check all the libstd targets.

from rust.

bjorn3 avatar bjorn3 commented on May 24, 2024

This check is done for all targets:

cmd_finder.must_have(build.cc(*target));
Note that on many targets it actually is needed even for check mode as build scripts will still compile some C code even in check mode.

from rust.

ChrisDenton avatar ChrisDenton commented on May 24, 2024

Hm, well i did a bunch of checks on "weird" (aka tier 3?) targets and this was the only one that was a blocker for me. x86_64-unknown-hermit, wasm32-unknown-unknown, x86_64-fortanix-unknown-sgx, etc all worked fine.

EDIT to say that I'm interested in testing libstd and not so much in no_std targets.

from rust.

bjorn3 avatar bjorn3 commented on May 24, 2024

Wasm32 is explicitly excluded from this requirement a couple lines above the linked code. For the rest of the targets it may be that they use gcc rather than target-triple-gcc as C compiler by default, thus seemingly working, but producing object files for the wrong OS. The solid target spec explicitly specifies aarch64-kmc-elf-gcc as linker.

from rust.

ChrisDenton avatar ChrisDenton commented on May 24, 2024

But in this case they definitely aren't used. An empty file with the executable bit set definitely isn't producing any output.

from rust.

onur-ozkan avatar onur-ozkan commented on May 24, 2024

This can be worked around by creating empty files, marking them as executable and putting them in PATH because they're never actually called.

This seems to be more of a workaround than a proper solution (not really sure of there are any). And makes bootstrap more complicated to avoid it's own rules.

Perhaps we could make some adjustments to the target sanity check, but then there might be complications as mentioned by bjorn3:

Note that on many targets it actually is needed even for check mode as build scripts will still compile some C code even in check mode.

from rust.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.