Definitely getting cache coherency vibes.
That would explain the weirdness - seems to be related to the LR state rather than memcpy/memset.
Fixing the boot() code in all the affected ports would be more work and hard to test.
Quick fix would be to add '-fno-tree-loop-distribute-patterns' to CFLAGS (probably only for VxWorks and GCC 10) to make GCC 10 behave like 9.
What I wanted to find by blinking was whether the problem happens in memcpy, or somewhere later. I'll try that with inline code.
# Disable GCC 10 optimisation for VxWorks that prevents build from booting on some cameras.ifeq ($(PLATFORMOS),vxworks) ifeq ($(GCC_VERSION_MAJOR),10) CFLAGS+=-fno-tree-loop-distribute-patterns endifendif
I'll commit this unless you have any other suggestions.Code: [Select]# Disable GCC 10 optimisation for VxWorks that prevents build from booting on some cameras.ifeq ($(PLATFORMOS),vxworks) ifeq ($(GCC_VERSION_MAJOR),10) CFLAGS+=-fno-tree-loop-distribute-patterns endifendif
I'd suggest enabling it for all OSes, since the underlying problem is not vxworks specific. Some dryos cams have very similar loops in boot.c.
Ixusizoom_sd30 & Ix900 are booting fine now.... Quote from: reyalp on 22 / March / 2021, 23:28:48I'd suggest enabling it for all OSes, since the underlying problem is not vxworks specific. Some dryos cams have very similar loops in boot.c.Which other cams could/should be compared?
Started by jeff666 Firmware Dumping
Started by genosmm General Help and Assistance on using CHDK stable releases
Started by reyalp General Discussion and Assistance
Started by cppasm « 1 2 » General Discussion and Assistance
Started by ahmed380 Feature Requests