Comments (9)
I have reproduced the problem with rootfs.stage1.tar.xz (the release) as a base. It is failing at same point so it is not related to the use of rootfs.stage0.tar.xz as a base
gcc memcmpeq.c -c -std=gnu11 -fgnu89-inline -O2 -pipe -mfloat-abi=hard -march=armv7ve -mtune=cortex-a15 -mfpu=neon-vfpv4 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno -fpie -ftls-model=initial-exec -I../include -I/workspace/ports/core-arm/glibc/work/src/build/string -I/workspace/ports/core-arm/glibc/work/src/build -I../sysdeps/unix/sysv/linux/arm/le -I../sysdeps/unix/sysv/linux/arm -I../sysdeps/arm/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/arm -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/arm/le/armv7 -I../sysdeps/arm/armv7 -I../sysdeps/arm/armv6t2 -I../sysdeps/arm/armv6 -I../sysdeps/arm/le -I../sysdeps/arm/include -I../sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnueabihf/12.2.0/include -isystem /workspace/ports/core-arm/glibc/work/pkg/usr/include -D_LIBC_REENTRANT -include /workspace/ports/core-arm/glibc/work/src/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -DPIC -DTOP_NAMESPACE=glibc -o /workspace/ports/core-arm/glibc/work/src/build/string/memcmpeq.o -MD -MP -MF /workspace/ports/core-arm/glibc/work/src/build/string/memcmpeq.o.dt -MT /workspace/ports/core-arm/glibc/work/src/build/string/memcmpeq.o
../sysdeps/arm/armv6t2/ffs.S: Assembler messages:
../sysdeps/arm/armv6t2/ffs.S:26: Error: selected processor does not support `rbit r0,r0' in ARM mode
make[3]: *** [/workspace/ports/core-arm/glibc/work/src/build/sysd-rules:483: /workspace/ports/core-arm/glibc/work/src/build/string/ffs.o] Error 1
make[3]: *** Waiting for unfinished jobs....
../sysdeps/arm/armv6t2/ffsll.S: Assembler messages:
../sysdeps/arm/armv6t2/ffsll.S:44: Error: selected processor does not support `rbit r0,r0' in ARM mode
make[3]: *** [/workspace/ports/core-arm/glibc/work/src/build/sysd-rules:483: /workspace/ports/core-arm/glibc/work/src/build/string/ffsll.o] Error 1
../sysdeps/arm/armv6t2/memchr.S: Assembler messages:
../sysdeps/arm/armv6t2/memchr.S:53: Error: cannot honor width suffix -- `and r1,r1,#0xff'
../sysdeps/arm/armv6t2/memchr.S:58: Error: cannot honor width suffix -- `tst r0,#7'
../sysdeps/arm/armv6t2/memchr.S:63: Error: cannot honor width suffix -- `ldrb r3,[r0],#1'
../sysdeps/arm/armv6t2/memchr.S:67: Error: cannot honor width suffix -- `tst r0,#7'
../sysdeps/arm/armv6t2/memchr.S:81: Error: cannot honor width suffix -- `orr r1,r1,r1,lsl#8'
../sysdeps/arm/armv6t2/memchr.S:82: Error: cannot honor width suffix -- `orr r1,r1,r1,lsl#16'
../sysdeps/arm/armv6t2/memchr.S:83: Error: cannot honor width suffix -- `bic r6,r2,#7'
../sysdeps/arm/armv6t2/memchr.S:84: Error: cannot honor width suffix -- `mvns r7,#0'
../sysdeps/arm/armv6t2/memchr.S:88: Error: selected processor does not support `ldrd r4,r5,[r0],#8' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:90: Error: cannot honor width suffix -- `eor r4,r4,r1'
../sysdeps/arm/armv6t2/memchr.S:91: Error: cannot honor width suffix -- `eor r5,r5,r1'
../sysdeps/arm/armv6t2/memchr.S:92: Error: selected processor does not support `uadd8 r4,r4,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:93: Error: selected processor does not support `sel r4,r3,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:94: Error: selected processor does not support `uadd8 r5,r5,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:95: Error: selected processor does not support `sel r5,r4,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:96: Error: selected processor does not support `cbnz r5,60f' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:106: Error: cannot honor width suffix -- `and r1,r1,#0xff'
../sysdeps/arm/armv6t2/memchr.S:107: Error: cannot honor width suffix -- `and r2,r2,#7'
../sysdeps/arm/armv6t2/memchr.S:110: Error: selected processor does not support `cbz r2,40f' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:113: Error: cannot honor width suffix -- `ldrb r3,[r0],#1'
../sysdeps/arm/armv6t2/memchr.S:115: Error: cannot honor width suffix -- `eor r3,r3,r1'
../sysdeps/arm/armv6t2/memchr.S:116: Error: selected processor does not support `cbz r3,50f' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:132: Error: selected processor does not support `itte eq' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:133: Error: MOV Rd, Rs with two low registers is not permitted on this architecture -- `moveq r4,r5'
../sysdeps/arm/armv6t2/memchr.S:134: Error: lo register required -- `subeq r0,r0,#3'
../sysdeps/arm/armv6t2/memchr.S:135: Error: lo register required -- `subne r0,r0,#7'
../sysdeps/arm/armv6t2/memchr.S:138: Error: cannot honor width suffix -- `tst r4,#1<<(0*8)'
../sysdeps/arm/armv6t2/memchr.S:141: Error: cannot honor width suffix -- `tst r4,#1<<(1*8)'
../sysdeps/arm/armv6t2/memchr.S:142: Error: selected processor does not support `ittt eq' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:143: Error: lo register required -- `addeq r0,r0,#1'
../sysdeps/arm/armv6t2/memchr.S:144: Error: thumb conditional instruction should be in IT block -- `tsteq r4,#(3<<15)'
../sysdeps/arm/armv6t2/memchr.S:146: Error: lo register required -- `addeq r0,r0,#1'
make[3]: *** [/workspace/ports/core-arm/glibc/work/src/build/sysd-rules:483: /workspace/ports/core-arm/glibc/work/src/build/string/memchr.o] Error 1
make[3]: Leaving directory '/workspace/ports/core-arm/glibc/work/src/glibc-2.36/string'
make[2]: *** [Makefile:484: string/subdir_lib] Error 2
make[2]: Leaving directory '/workspace/ports/core-arm/glibc/work/src/glibc-2.36'
make[1]: *** [Makefile:9: all] Error 2
make[1]: Leaving directory '/workspace/ports/core-arm/glibc/work/src/build'
=======> ERROR: Building '/workspace/ports/core-arm/glibc/glibc#2.36-1.pkg.tar.xz' failed.
from crux-arm-release.
Just as a curiosity, it has failed also when trying to create stage0 with optimizations for odroidxu4 when I ran DEVICE_OPTIMIZATION=odroidxu4 make bootstrap
gcc memcmp.c -c -std=gnu11 -fgnu89-inline -O2 -pipe -mfloat-abi=hard -march=armv7ve -mtune=cortex-a15 -mfpu=neon-vfpv4 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno -fpie -ftls-model=initial-exec -I../include -I/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string -I/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build -I../sysdeps/unix/sysv/linux/arm/le -I../sysdeps/unix/sysv/linux/arm -I../sysdeps/arm/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/arm -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/arm/le/armv7 -I../sysdeps/arm/armv7 -I../sysdeps/arm/armv6t2 -I../sysdeps/arm/armv6 -I../sysdeps/arm/le -I../sysdeps/arm/include -I../sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/arm-unknown-linux-gnueabihf/10.4.0/include -isystem /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/pkg/usr/include -D_LIBC_REENTRANT -include /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h -DPIC -DTOP_NAMESPACE=glibc -o /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string/memcmp.o -MD -MP -MF /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string/memcmp.o.dt -MT /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string/memcmp.o
../sysdeps/arm/armv6t2/ffs.S: Assembler messages:
../sysdeps/arm/armv6t2/ffs.S:26: Error: selected processor does not support `rbit r0,r0' in ARM mode
../sysdeps/arm/armv6t2/memchr.S: Assembler messages:
../sysdeps/arm/armv6t2/memchr.S:53: Error: cannot honor width suffix -- `and r1,r1,#0xff'
../sysdeps/arm/armv6t2/memchr.S:58: Error: cannot honor width suffix -- `tst r0,#7'
../sysdeps/arm/armv6t2/memchr.S:63: Error: cannot honor width suffix -- `ldrb r3,[r0],#1'
../sysdeps/arm/armv6t2/memchr.S:67: Error: cannot honor width suffix -- `tst r0,#7'
../sysdeps/arm/armv6t2/memchr.S:81: Error: cannot honor width suffix -- `orr r1,r1,r1,lsl#8'
../sysdeps/arm/armv6t2/memchr.S:82: Error: cannot honor width suffix -- `orr r1,r1,r1,lsl#16'
../sysdeps/arm/armv6t2/memchr.S:83: Error: cannot honor width suffix -- `bic r6,r2,#7'
../sysdeps/arm/armv6t2/memchr.S:84: Error: cannot honor width suffix -- `mvns r7,#0'
../sysdeps/arm/armv6t2/memchr.S:88: Error: selected processor does not support `ldrd r4,r5,[r0],#8' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:90: Error: cannot honor width suffix -- `eor r4,r4,r1'
../sysdeps/arm/armv6t2/memchr.S:91: Error: cannot honor width suffix -- `eor r5,r5,r1'
../sysdeps/arm/armv6t2/memchr.S:92: Error: selected processor does not support `uadd8 r4,r4,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:93: Error: selected processor does not support `sel r4,r3,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:94: Error: selected processor does not support `uadd8 r5,r5,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:95: Error: selected processor does not support `sel r5,r4,r7' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:96: Error: selected processor does not support `cbnz r5,60f' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:106: Error: cannot honor width suffix -- `and r1,r1,#0xff'
../sysdeps/arm/armv6t2/memchr.S:107: Error: cannot honor width suffix -- `and r2,r2,#7'
../sysdeps/arm/armv6t2/memchr.S:110: Error: selected processor does not support `cbz r2,40f' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:113: Error: cannot honor width suffix -- `ldrb r3,[r0],#1'
../sysdeps/arm/armv6t2/memchr.S:115: Error: cannot honor width suffix -- `eor r3,r3,r1'
../sysdeps/arm/armv6t2/memchr.S:116: Error: selected processor does not support `cbz r3,50f' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:132: Error: selected processor does not support `itte eq' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:133: Error: MOV Rd, Rs with two low registers is not permitted on this architecture -- `moveq r4,r5'
../sysdeps/arm/armv6t2/memchr.S:134: Error: lo register required -- `subeq r0,r0,#3'
../sysdeps/arm/armv6t2/memchr.S:135: Error: lo register required -- `subne r0,r0,#7'
../sysdeps/arm/armv6t2/memchr.S:138: Error: cannot honor width suffix -- `tst r4,#1<<(0*8)'
../sysdeps/arm/armv6t2/memchr.S:141: Error: cannot honor width suffix -- `tst r4,#1<<(1*8)'
../sysdeps/arm/armv6t2/memchr.S:142: Error: selected processor does not support `ittt eq' in Thumb mode
../sysdeps/arm/armv6t2/memchr.S:143: Error: lo register required -- `addeq r0,r0,#1'
../sysdeps/arm/armv6t2/memchr.S:144: Error: thumb conditional instruction should be in IT block -- `tsteq r4,#(3<<15)'
../sysdeps/arm/armv6t2/memchr.S:146: Error: lo register required -- `addeq r0,r0,#1'
make[5]: *** [/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/sysd-rules:483: /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string/ffs.o] Error 1
make[5]: *** Waiting for unfinished jobs....
../sysdeps/arm/armv6t2/ffsll.S: Assembler messages:
../sysdeps/arm/armv6t2/ffsll.S:44: Error: selected processor does not support `rbit r0,r0' in ARM mode
make[5]: *** [/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/sysd-rules:483: /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string/memchr.o] Error 1
make[5]: *** [/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/sysd-rules:483: /sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build/string/ffsll.o] Error 1
make[5]: Leaving directory '/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/glibc-2.36/string'
make[4]: *** [Makefile:484: string/subdir_lib] Error 2
make[4]: Leaving directory '/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/glibc-2.36'
make[3]: *** [Makefile:9: all] Error 2
make[3]: Leaving directory '/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/work/src/build'
=======> ERROR: Building '/sdcard/home/sepen/devel/crux-arm/crux-arm-release/ports/core-arm/glibc/glibc#2.36-1.pkg.tar.xz' failed```
I think the problem is related to CFLAGS provided by odroidxu4 optimization which appears incompatible with glibc for now.
from crux-arm-release.
The problem seems related to https://gcc.gnu.org/bugzilla//show_bug.cgi?id=83206
from crux-arm-release.
This is the failing section in glibc
#ifdef MEMCPY_NEON
--
.fpu neon
.arch armv7-a
# define FRAME_SIZE 4
# define USE_VFP
# define USE_NEON
#elif defined (MEMCPY_VFP)
.arch armv6
.fpu vfpv2
# define FRAME_SIZE 32
# define USE_VFP
#else
.arch armv6
# define FRAME_SIZE 32
#endif
https://codebrowser.dev/glibc/glibc/sysdeps/arm/armv7/multiarch/memcpy_impl.S.html
from crux-arm-release.
This would also help this file https://codebrowser.dev/glibc/glibc/sysdeps/arm/sysdep.h.html
# elif defined (__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \
defined(__ARM_ARCH_7EM__)
# define __ARM_ARCH 7
from crux-arm-release.
After trying different workarounds in Pkgifle and different CFLAGS the same error still appears.
It should be noted, that I am compiling glibc with the gcc version 10.4.0 (CRUX-ARM 3.6) that I have on my odroidxu4 host.
What I am going to try is to reinstall the odroidxu4 with release 3.7-rc4 and try with the gcc 12 that it has, since the error could be due to "a change in gcc when they reorder assembler architecture directives" https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101723
from crux-arm-release.
Tested "export ASFLAGS" build optimization for cubieboard and cubieboard2.
We will add the export on the overlay for all devices.
from crux-arm-release.
@pitill0 Do you think we can close this issue after adding ASFLAGS to glibc ports? +1 here
from crux-arm-release.
Yes. It seems to solve the optimización problem
from crux-arm-release.
Related Issues (20)
- Release build not setting pkgmk.conf and prt-get.conf file properly HOT 4
- Release 3.7 samsung-chromebook HOT 2
- Release 3.7 pine64 HOT 2
- Release 3.7
- Release 3.7 aarch64 HOT 1
- Getting a build error for a missing rootfs target in stage1 HOT 2
- Stage1 rootfs contains files in /var/lib/pkg/rejected
- Error using curl inside stage1 HOT 1
- binutils: not updated HOT 1
- Binutils: not specified --build option in aarch64 HOT 1
- libgmp: not specified --build version HOT 1
- Stage1 gcc build break HOT 1
- Make calls without specifying DEVICE_OPTIMIZATIONS break the build. HOT 17
- stage1: pkgutils build problem after updating libarchive to 3.6.2 HOT 1
- Restore prt-get.conf information after exiting chroot on stage1 HOT 5
- nftables footprint missmatch HOT 1
- Release 3.7 odroidxu4 HOT 2
- Release 3.7 aarch64 raspberrypi3 HOT 2
- Release 3.7 cubieboard2 HOT 5
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 crux-arm-release.