Coder Social home page Coder Social logo

Comments (7)

gtxzsxxk avatar gtxzsxxk commented on August 15, 2024 1

If you are referring to the buildroot, it will be able to use any c library or toolchain as long as they have rv64 and buildroot support, after the buildroot merged into mainline, which is coming soon.

from duo-buildroot-sdk.

onkoe avatar onkoe commented on August 15, 2024

@gtxzsxxk I'm sorry to mention you, but has this issue progressed in the past few months? musl has only been a mild annoyance, but it's annoying enough to keep me from getting more Duos for a bit. 😅

from duo-buildroot-sdk.

gtxzsxxk avatar gtxzsxxk commented on August 15, 2024

@onkoe

Hello! Please refer to

gtxzsxxk/duo-buildroot#4 (reply in thread)

gtxzsxxk/duo-buildroot#4 (reply in thread)

Hope these explain.

And could you please tell me why people do not like musl? I have no idea on this phenomenon. When submitting patches to buildroot, they also show unwelcome to musl. But if no musl, the toolchain couldn't be compiled with glibc since the upstream haven't fixed some bugs on t-head's optimization features.

from duo-buildroot-sdk.

onkoe avatar onkoe commented on August 15, 2024

Woah, thanks for the quick response! I appreciate the helpful link :)

It's not that I don't like musl and their libc, but it's just harder to work with. As someone who likes Rust a whole lot, it's a lot harder for me to build applications for riscv64gc-linux-unknown-musl due to its Tier 3 status.

Overall, despite a few benefits for embedded systems, musl is just a pain to work with. It feels like... old Linux 😱

Anyways, thanks for your help! I'll be following this issue closely.

from duo-buildroot-sdk.

gtxzsxxk avatar gtxzsxxk commented on August 15, 2024

@onkoe

Hi, I mean the toolchain is not even a deal. Due to the open of risc-v, you can easily have your own version of the toolchain, by compiling the gcc or using buildroot. However, as I mentioned, If you are trying working with t-head's optimizations and features, you have to love musl.

If you don't care t-head's arch, you are just a risc-v user, please give up the t-head stuff, so that you can use the normal gcc and use glibc or any c lib you like. I highly suggest you have your own toolchain by using buildroot. Using the default configurations would have no t-head features and be compatible with the glibc and so on.

from duo-buildroot-sdk.

onkoe avatar onkoe commented on August 15, 2024

I see - thank you! I'm somewhat unfamiliar with T-Head, as most of their top English-language search results are marketing and announcements.

By "give up" T-Head, do you mean to compile the buildroot kernel without some T-Head patches? If so, do you know if this is documented somewhere? I'm not quite well-versed enough to know what I'd need to remove.

Once again, thank you for your response! I'd love to see a glibc version come soon - I've spoken with other users who are having similar issues to me, though they're also in the Rust community. 😄

from duo-buildroot-sdk.

gtxzsxxk avatar gtxzsxxk commented on August 15, 2024

Hello Barrett,

By "give up" T-Head, do you mean to compile the buildroot kernel without some T-Head patches? If so, do you know if this is documented somewhere? I'm not quite well-versed enough to know what I'd need to remove.

My "give up t-head" means that we use the toolchain with march rv64gc, rather than the rv64gcxthead, which is provided by the official sdk. During our work, the xthead stuff brought us a lot of trouble. But once removed, everything began to work.

./riscv64-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=./riscv64-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/root/embedded/host-tools/gcc/riscv64-linux-x86_64/bin/../libexec/gcc/riscv64-unknown-linux-gnu/10.2.0/lto-wrapper
Target: riscv64-unknown-linux-gnu
Configured with: /mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/./source/riscv/riscv-gcc/configure --target=riscv64-unknown-linux-gnu --with-gmp=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-mpfr=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-mpc=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-libexpat-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-libmpfr-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-pkgversion='Xuantie-900 linux-5.10.4 glibc gcc Toolchain V2.6.1 B-20220906' CXXFLAGS='-g -O2 -DTHEAD_VERSION_NUMBER=2.6.1 ' --prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1 --with-sysroot=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/sysroot --with-system-zlib --enable-shared --enable-tls --enable-languages=c,c++,fortran --disable-libmudflap --disable-libssp --disable-libquadmath --enable-libsanitizer --disable-nls --disable-bootstrap --src=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/./source/riscv/riscv-gcc --enable-multilib --with-abi=lp64d --with-arch=rv64gcxthead 'CFLAGS_FOR_TARGET=-O2   -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-O2   -mcmodel=medany'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (Xuantie-900 linux-5.10.4 glibc gcc Toolchain V2.6.1 B-20220906)

from duo-buildroot-sdk.

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.