1.6 development planning thread - page 2 - General Discussion and Assistance - CHDK Forum
supplierdeeply

1.6 development planning thread

  • 68 Replies
  • 13515 Views
*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: 1.6 development planning thread
« Reply #10 on: 21 / November / 2020, 17:31:41 »
Advertisements

Thanks for that - can you check if '->' also works on Windows (single quotes around string instead of escaping)?

Sorry for not being clear - the quotes are just to show what is literally shown on screen/in logs.
All the files contain 1 or more lines like "@echo blah \-\> something" (without the quotes).
Suggestion is, to replace these with "@echo blah -\> something" (again, without quotes).
Result: nicer screen/log output, works on all my Windows toolchains.
Not tested on linux (never succeeded compiling CHDK on my manjaro linux box).
Hope that clarifies it a bit - in short I'm just proposing that escaping a minus sign is unnecessary
after an echo command; the greater than/redirection sign still needs escaping.

hope that I understood and answered your question ...
whim


Sorry my question was not clear. Instead of escaping the '>' symbol I'm suggesting putting it all in single quotes so it's treated as a string. To me this makes the meaning clearer. It works on MacOS / Linux; but not sure about Windows.
        "@echo blah '->' something"


Phil.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline whim

  • ******
  • 2046
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: 1.6 development planning thread
« Reply #11 on: 22 / November / 2020, 03:11:20 »
@philmoz

Thanks, looks fine that way on Windows GCC 493 and 541 toolchains.

whim

*

Offline srsa_4c

  • ******
  • 4451
Re: 1.6 development planning thread
« Reply #12 on: 22 / November / 2020, 06:33:32 »
Quote
BTW Getting an assembler error on my (Windows) GCC 5.4.1 toolchain compiling for m10 (110f), compiles just fine for all other cams.

Discussed here https://chdk.setepontos.com/index.php?topic=12758.msg144545#msg144545
GCC5 generates slightly different instructions which messes up one of the branch tables. I was leaving this for srsa_4c.
Should be resolved after this commit.

The reason of my above mumbling about OPT_WARNINGS is that I'd like to keep following in host_rules.inc, with or without the # in front of the middle row:
Code: [Select]
ifdef OPT_WARNINGS
    #HOSTCFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers -Wunused -Wno-unused-param
endif

*

Offline whim

  • ******
  • 2046
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: 1.6 development planning thread
« Reply #13 on: 22 / November / 2020, 07:27:08 »
Quote
Should be resolved after this commit.

Compiles and works fine for me (GCC 541host481 on Win 10 v1909, M10-110f)
Thanks, @srsa_4c and @philmoz !!
whim
« Last Edit: 22 / November / 2020, 07:36:55 by whim »


*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: 1.6 development planning thread
« Reply #14 on: 22 / November / 2020, 15:35:23 »
The reason of my above mumbling about OPT_WARNINGS is that I'd like to keep following in host_rules.inc, with or without the # in front of the middle row:
Code: [Select]
ifdef OPT_WARNINGS
    #HOSTCFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers -Wunused -Wno-unused-param
endif


I don't have a problem with keeping it; but I would uncomment it.
If it's there may as well use it.


Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: 1.6 development planning thread
« Reply #15 on: 24 / November / 2020, 16:14:06 »
The GCC 3 cleanup changes have been added to 1.6 release in changeset 5637 - let me know if any issues are encountered.


This also includes the build output fix for Windows.


Phil.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline whim

  • ******
  • 2046
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: 1.6 development planning thread
« Reply #16 on: 25 / November / 2020, 03:33:56 »
@philmoz


Works great for me on gcc 4, 5, 6, 7, 8 and 9 (after modifying arm_rules.inc as needed)
Remarkably, gcc 8  produced up to 2k5 smaller diskboot.bin's than gcc 9 for me.
Just tested compilation, will update when more results.


Thanks,

whim

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: 1.6 development planning thread
« Reply #17 on: 25 / November / 2020, 03:54:51 »
Works great for me on gcc 4, 5, 6, 7, 8 and 9 (after modifying arm_rules.inc as needed)
Remarkably, gcc 8  produced up to 2k5 smaller diskboot.bin's than gcc 9 for me.
Just tested compilation, will update when more results.


I would be very interested if you can build a working version with GCC 6 or later on older cameras.
It works for Digic 6 & 7; but when I tried older builds the compiler generates the wrong code for arm/thumb interworking and the build will not run.


Phil.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)


*

Offline whim

  • ******
  • 2046
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: 1.6 development planning thread
« Reply #18 on: 25 / November / 2020, 06:30:54 »
@philmoz

Yes, you're right about that - ixus70 (D3vxworks) and ixus255 (D5) fail to boot when compiled with either gcc 6 or gcc 9; my M10 (D6) appears to be running OK (currently on 5537 from gcc831).


whim
« Last Edit: 25 / November / 2020, 06:35:29 by whim »

*

Offline Caefix

  • *****
  • 945
  • Sorry, busy deleting test shots...
Re: 1.6 development planning thread
« Reply #19 on: 30 / November / 2020, 11:27:05 »
 :blink: -Wnested-externs ?? :haha
The reason of my above mumbling about OPT_WARNINGS is that I'd like to keep following in host_rules.inc, with or without the # in front of the middle row:
Code: [Select]
ifdef OPT_WARNINGS
    HOSTCFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers
    HOSTCFLAGS+=-Wno-sign-compare -Wunused -Wno-unused-parameter
    HOSTCFLAGS+=-Wstrict-aliasing -Wunknown-pragmas -Wmissing-braces -Wparentheses  -Wnested-externs
#    HOSTCFLAGS+=-Wold-style-definition -Wold-style-declaration
#    HOSTCFLAGS+=-Wtraditional-conversion
endif

Edit: Seems solved.  :xmas
I collected the reclamated lines as forward references /// & commented them out. (->.zip)

Edit2:   >:( -Wpedantic :o  :-X
Added      -std=gnu11 -funsigned-char       to host_rule.inc line 5   to avoid 10000 lines like ...
Code: [Select]
../lib/font/font_8x16_uni.h:360:9: warning: overflow in implicit constant conversion [-Woverflow]
         0xCE,    /* 11001110 */
         ^
-mtune=arm946e-s, ...66e-s, ...68e-s seem same.
Edit3:
Other tinities: -std=gnu11 is my default, 1000 lines less...
Uptodayted zip.


for an other warning less...tools/elfflt line 25 needs
Code: [Select]
static const unsigned char elf_magic_header[] =// 0xFade 0x02 0x01dfee1d : "Shaddow of a bug" : https://forum.chdk-treff.de/viewtopic.php?f=7&t=1437
« Last Edit: 05 / December / 2020, 13:38:25 by Caefix »
All lifetime is a loan from eternity.

 

Related Topics