Giter VIP home page Giter VIP logo

Comments (5)

dgibson avatar dgibson commented on August 21, 2024

Um.. a memcmp() implementation which has alignment constraints is utterly broken. I can't believe that's the case on all ARM systems - what specific environment are you using?

from dtc.

 avatar commented on August 21, 2024

compiler: gcc-arm-8.2-2018.08-x86_64-aarch64-elf which uses newlib
device: Raspberry Pi 3 B

from dtc.

 avatar commented on August 21, 2024

S:\src\pios>gcc-arm-8.2-2018.08-i686-mingw32-aarch64-elf\bin\aarch64-elf-gcc -v
Using built-in specs.
COLLECT_GCC=gcc-arm-8.2-2018.08-i686-mingw32-aarch64-elf\bin\aarch64-elf-gcc
COLLECT_LTO_WRAPPER=s:/src/pios/gcc-arm-8.2-2018.08-i686-mingw32-aarch64-elf/bin/../libexec/gcc/aarch64-elf/8.2.1/lto-wrapper.exe
Target: aarch64-elf
Configured with: /tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/src/gcc/configure --target=aarch64-elf --prefix=/tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/build-mingw-aarch64-elf/install// --with-gmp=/tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/build-mingw-aarch64-elf/host-tools --with-mpfr=/tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/build-mingw-aarch64-elf/host-tools --with-mpc=/tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/build-mingw-aarch64-elf/host-tools --with-isl=/tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/build-mingw-aarch64-elf/host-tools --with-pkgversion='GNU Toolchain for the A-profile Architecture 8.2-2018-08 (arm-rel-8.23)' --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-libiconv-prefix=/tmp/dgboter/bbs/dsggnu-vm-1-x86_64--mingw32-i686/buildbot/mingw32-i686--aarch64-elf/build/build-mingw-aarch64-elf/host-tools --host=i686-w64-mingw32
Thread model: single
gcc version 8.2.1 20180802 (GNU Toolchain for the A-profile Architecture 8.2-2018-08 (arm-rel-8.23))

from dtc.

dgibson avatar dgibson commented on August 21, 2024

Ok, it sounds like that newlib version may be broken for ARM. I'm 99% certain that a memcmp() which doesn't work on unaligned addresses is a serious spec violation.

from dtc.

dgibson avatar dgibson commented on August 21, 2024

Checked with some people who know C specs better than I do. A memcmp() that doesn't handle non-aligned addresses is definitely broken. You'll either need to get the bug fixed in your library, or you'll need to supply a working memcmp() via a custom libfdt_env.h.

from dtc.

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.