how to install this update(with shutter open to 1/8000-1/16000???
I noticed that the M10 port does not build with GCC5 - the movie_rec.c file fails due to slightly different instructions being generated that pushes some of the jump table offsets out of range.
Attached is a patch that builds with both GCC4 and GCC5; but as I don't have an M10 I can't test it.Would appreciate it if someone with an M10 could verify that this version still runs and does not break the movie_rec task functionality.
Comparing the output generated by gcc4 and gcc8, the newer compilers change some LDR instructions into MOVW due to the constant being 16-bit. This screws up code size expectations. I'd primarily prefer to avoid this optimization, but I couldn't find an obvious way to do that.
I'd rather convert the jumptable from TBB to TBH, so that all code paths are affected. (I haven't done that yet.)
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributeson the relevant functions? Or maybe this is an assembler thing rather than an optimization. It seems like there should still be a way to turn it off though, given that assembly users often need to way to get exactly what they ask for.
A capdis option to turn TBBs into TBHs should be fairly easy.
It does seem like an assembler thing. I added -save-temps to the gcc command that compiles movie_rec.c and found that the asm blocks are still unchanged in movie_rec.s.Browsing through the docs hasn't helped - gcc allows fine-tuning optimizations, but couldn't find anything that would affect the final outcome. GNU as doesn't seem to offer much control over the way it works.
QuoteA capdis option to turn TBBs into TBHs should be fairly easy.That would probably be a rarely used feature, but it would be appreciated. Not that I can't do the transformation, but it's better if the disasm needs less manual adjustment.
Started by axman
« 1 2 3 »
Started by burglar
Creative Uses of CHDK
Started by reyalp
Started by David475