Comments (5)
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.
compiler: gcc-arm-8.2-2018.08-x86_64-aarch64-elf which uses newlib
device: Raspberry Pi 3 B
from dtc.
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.
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.
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)
- Multiple-definition of fdt target in Meson definitions HOT 6
- unit_address_vs_reg: Wrong warning for /memory node HOT 3
- fdt.c crashes at absoffset = offset + fdt_off_dt_struct(fdt); HOT 6
- how can I download the archive inside debootstrap environment HOT 3
- `testCreate`/`testReserveMap` fails with Python 3.12 HOT 12
- python extension build with meson is always quiet HOT 2
- python extension rebuilt during meson's install phase HOT 6
- Improve dtdiff by avoiding or nulling the phandles HOT 11
- Char subscript error in Cygwin HOT 4
- 0xFFFFFFFF00000000 parsed as 32 bit HOT 5
- New release planned? HOT 8
- last commit breaks building the Python bindings HOT 2
- pylibfdt bindings cryptically fail to build with some build environments HOT 3
- Enabling -Wwrite-strings causes a number of warnings HOT 2
- README.md has no instructions for building with meson HOT 2
- Meson tests fail HOT 3
- 1.7.0-Testsuite-Error HOT 1
- 'struct fdt_header' has no member named [name] HOT 2
- 1.7.0: install target fails on HOT 10
- Apply multiple DTB overlays to create single DTB file? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dtc.