Giter Site home page Giter Site logo

Comments (15)

alexcrichton avatar alexcrichton commented on September 26, 2024

@japaric I think you're more familiar with ARM assembly than I am, mind double-checking me on this to make sure I'm not off the rails?

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

I'll also note that I don't actually know what the error, if any, is in the udivsi3.S file. It may not actually have any errors! What I'm doing could may be hiding the error somewhere else...

from compiler-builtins.

kennytm avatar kennytm commented on September 26, 2024

Would pulling in llvm-mirror/compiler-rt@6b34053 fix the issue?

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

Oh that's actually the commit I meant to mention above, unfortunately pulling that in didn't fix it

from compiler-builtins.

parched avatar parched commented on September 26, 2024

@alexcrichton I think I can fix this, how did you reproduce it locally?

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

@parched I think it should suffice to revert alexcrichton@681aaa9 and then run ci/run-docker.sh arm-unknown-linux-gnueabi

from compiler-builtins.

parched avatar parched commented on September 26, 2024

@alexcrichton Thanks, trying that I get to

...
+ cargo test --no-default-features --target arm-unknown-linux-gnueabi --features gen-tests mangled-names
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running /target/arm-unknown-linux-gnueabi/debug/deps/compiler_builtins-eb4701e69158fd89
/target/arm-unknown-linux-gnueabi/debug/deps/compiler_builtins-eb4701e69158fd89: 1: /target/arm-unknown-linux-gnueabi/debug/deps/compiler_builtins-eb4701e69158fd89: Syntax error: word unexpected (expecting ")")

Have you seen that before?

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

@parched I believe that's related to Linux's support to run non-native binaries by hook them with something like a QEMU interpreter. You may need to do something like https://github.com/rust-lang-nursery/compiler-builtins/blob/238647af806470dc73e585c03682083931d29cd5/.travis.yml#L48-L49 on your host system.

from compiler-builtins.

japaric avatar japaric commented on September 26, 2024

@parched Alternatively you pass --no-run to Cargo to compile the test but not run it, and then manually run the binary using QEMU (qemu-arm target/..).

@alexcrichton That reminds me, now that Cargo has "runner" support we might be able to drop the qemu-user-static stuff and replace it with runner = "qemu-arm" in .cargo/config.

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

Oh right yeah, that migh work great!

from compiler-builtins.

parched avatar parched commented on September 26, 2024

Ok thanks guys, I originally tried with just qemu-arm but it complained about missing dynamic linker library or something. I've found though I just needed to pass it the directory of the libs in the cross toolchain with -L. I made a small fix for the problem but I've found there is a more general problem with the builtins on a Thumb-1 but not Thumb-2 capable CPU. This looks like it is addressing it though https://reviews.llvm.org/rL298713.

from compiler-builtins.

parched avatar parched commented on September 26, 2024

@alexcrichton IMO for now we should just revert llvm-mirror/compiler-rt@2fb759f

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

We could, yes, but ideally we'd get that upstream

from compiler-builtins.

parched avatar parched commented on September 26, 2024

Fyi https://reviews.llvm.org/D31220 has been accepted upstream now

from compiler-builtins.

alexcrichton avatar alexcrichton commented on September 26, 2024

Great! As soon as we upgrade we can switch and close out this issue

from compiler-builtins.

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.