Building CHDK with newer GCC (4.8) - page 2 - General Discussion and Assistance - CHDK Forum supplierdeeply

Building CHDK with newer GCC (4.8)

  • 17 Replies
  • 4041 Views
*

Offline reyalp

  • ******
  • 11902
Re: Building CHDK with newer GCC (4.8)
« Reply #10 on: 06 / December / 2014, 22:54:55 »
Advertisements
I successfully used this on windows 7 64 bit. My usual build environment is a mingw shell, using mingw gcc as the host compiler and the gcc451 toolchain from chdkshell as the arm compiler.

1) download and install the win32 exe
2) Put the bin directory on the path instead of the chdkshell compiler mentioned above.
3) Apply patch and set USE_GCC_EABI=1

The resulting boots and runs,and shows GCC 4.8.4 as the compiler. I haven't checked sizes.
Don't forget what the H stands for.

*

Online philmoz

  • *****
  • 3107
    • Photos
Re: Building CHDK with newer GCC (4.8)
« Reply #11 on: 06 / December / 2014, 23:02:12 »
2) Put the bin directory on the path instead of the chdkshell compiler mentioned above.

You should be able to have both in your path without any conflict.
The 4.5.1 tools are all called arm-elf-XXX, the new ones are arm-none-eabi-XXX.

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)

*

Online philmoz

  • *****
  • 3107
    • Photos
Re: Building CHDK with newer GCC (4.8)
« Reply #12 on: 07 / December / 2014, 20:05:29 »
Should this go into 1.3 or wait for 1.4?

I'm comfortable that this still works for old versions of GCC as well as 4.8.

However, the new architecture check in the module header means that modules built with the current 1.3 code base won't load in this version. Anyone who downloads an autobuild version, and just updates diskboot.bin without updating the module files, will get error messages when trying to load a module.

I don't think this is a big issue; but want to get consensus before I commit this to SVN.

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)

Re: Building CHDK with newer GCC (4.8)
« Reply #13 on: 07 / December / 2014, 20:13:58 »
Should this go into 1.3 or wait for 1.4?
Being somewhat nervous about things like compiler upgrades and unintended consequences, I'd suggest making it the default for 1.4 and leave 1.3 the way it is.
Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline reyalp

  • ******
  • 11902
Re: Building CHDK with newer GCC (4.8)
« Reply #14 on: 07 / December / 2014, 20:23:25 »
Should this go into 1.3 or wait for 1.4?

I'm comfortable that this still works for old versions of GCC as well as 4.8.

However, the new architecture check in the module header means that modules built with the current 1.3 code base won't load in this version. Anyone who downloads an autobuild version, and just updates diskboot.bin without updating the module files, will get error messages when trying to load a module.

I don't think this is a big issue; but want to get consensus before I commit this to SVN.
I think it should go in. It will be more convenient to have it in both the stable and 1.4, and the impacts should be minimal. I'm not too worried about people who only update diskboot and not the modules, that always risks breakage.

Being somewhat nervous about things like compiler upgrades and unintended consequences, I'd suggest making it the default for 1.4 and leave 1.3 the way it is.
My understanding is we aren't changing compilers for the autobuilds, just adding the ability to build with the new one.
Don't forget what the H stands for.

*

Offline msl

  • *****
  • 1261
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: Building CHDK with newer GCC (4.8)
« Reply #15 on: 08 / December / 2014, 05:24:24 »
- add USE_GCC_EABI=1 to your localbuildconf.inc file
The CHDK shell requires the prefix OPT_ in localbuildconf.inc. With this prefix the build options can be detected correctly, so they can be set via GUI.

msl
CHDK-DE:  CHDK-DE links

*

Online philmoz

  • *****
  • 3107
    • Photos
Re: Building CHDK with newer GCC (4.8)
« Reply #16 on: 08 / December / 2014, 05:41:20 »
- add USE_GCC_EABI=1 to your localbuildconf.inc file
The CHDK shell requires the prefix OPT_ in localbuildconf.inc. With this prefix the build options can be detected correctly, so they can be set via GUI.

msl

Does CHDK-Shell include a copy of GCC 4.8 (it didn't last time I looked at it)?

Without a working GCC 4.8, won't enabling this option cause CHDK-Shell to fail?

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)

*

Offline msl

  • *****
  • 1261
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: Building CHDK with newer GCC (4.8)
« Reply #17 on: 08 / December / 2014, 06:18:42 »
Until now GCC 4.8 is not included. But there is a possibility to add several GCC toolchains.

The CHDK shell checks the toolchain on the necessary components. All compiler errors are stored in a text file. So the user can see if there are problems with the used toolchain.

I see no problem to make this option generally available, if  is not active by default.


msl
CHDK-DE:  CHDK-DE links


 

Related Topics