FreeBASIC-1.06.0-Win gcc-9.1

For other topics related to the FreeBASIC project or its community.
srvaldez
Posts: 2538
Joined: Sep 25, 2005 21:54

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby srvaldez » Jun 06, 2019 23:19

yes, unfortunately, a compiler is very complicated and changing core compatibility issues could be very time consuming.
coderJeff
Site Admin
Posts: 3342
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby coderJeff » Jun 07, 2019 0:15

srvaldez wrote:
deltarho[1859] wrote:So, where does 'strip' come from, that is not mentioned in the Help file's 'Compiler Options.'?

-strip used to be called by default, but for some reason, something changed in the recent Git repo.
you can of course see all the command options with: fbc -h


wiki is most up to date docs for current development version:
see Compiler Option: -strip
see Compiler Option: -nostrip

Correct, "--strip-all" linker option used to be called by default on all platforms. That recently changed:
See Implement control over symbol stripping #140

When building fbc for yourself there is a new "ENABLE_STRIPALL=1" build option to tell the makefile that fbc should be built with "-strip" as default or "-nostrip" otherwise.

What is supposed to happen, is that "ENABLE_STRIPALL=1" should be default on dos/win because we guessed that dos/win users would always be concerned with file size. Looks like the makefile logic isn't setting the value by default correctly.

You can explicitly enable the "-strip" option by default by building fbc with "ENABLE_STRIPALL=1"
srvaldez
Posts: 2538
Joined: Sep 25, 2005 21:54

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby srvaldez » Jun 07, 2019 0:22

@coderJeff
thank you for the clarification. :-)
coderJeff
Site Admin
Posts: 3342
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby coderJeff » Jun 07, 2019 0:52

srvaldez wrote:
deltarho[1859] wrote:
What you have shown, srvaldez, is pushing the 'boat out' has not brought the roof down and the question must be asked why does gcc 5.2 seem to be carved in stone, the fbc 1.06 release was a golden opportunity to 'up the stakes'; not to version 9 but something greater than version 5.

I don't know the answer to that question, but it could be related to gcc's changes and compatibility issues with existing code, I know personally that a very simple 10-line library would compile OK, but when a program linked to that library there would be errors.
[edit]
perhaps fbc --help


When releasing 1.06, I decided to keep same binary tools including gcc 5.2.0. One less thing to worry about. Except dos version, built with gcc 7.1.0.

On my own system, currently using gcc 7.1 for mingw-w64 (32 & 64 bit), and gcc 4.8.1 for mingw.org builds. So fbc itself gets a lot of building and testing with those 2 versions on my system.

Appears that default for mingw-w64 currently at 7.4.0, I think, though newer versions of gcc package are also available.

There is a conversation between myself and St_W somewhere on this forum about updating gcc version (but I can not seem to find it, need more practice on how to search, I guess).

I'm certainly open to the idea of targeting a different/newer version of gcc for next release. It need not be same version on all targets, just the most common or readily available currently.
srvaldez
Posts: 2538
Joined: Sep 25, 2005 21:54

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby srvaldez » Jun 07, 2019 1:06

@coderJeff
thank you for taking the time for addressing this, I have the impression that it would take an awful lot of work to get the FB codebase to be complaint with the current gcc syntax and semantics, like they say, "the devil is in the details"
deltarho[1859]
Posts: 2696
Joined: Jan 02, 2017 0:34
Location: UK

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby deltarho[1859] » Jun 08, 2019 15:48

Yours truly wrote:So, where does 'strip' come from, that is not mentioned in the Help file's 'Compiler Options.'?

I normally check Index of /stw/builds regularly but I must have let it slip because '-strip' and '-nostrip' are mentioned in Help 2019.06.08 04:01:39, although I cannot tell when they were added. My bad. <smile>
fxm
Posts: 9986
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby fxm » Jun 08, 2019 15:56

' users.freebasic-portal.de/stw/builds/changelog - FreeBasic Compiler ... ' wrote:add -strip and -nostrip command line option to fbc.1 (commit: 5dde7c5)
deltarho[1859]
Posts: 2696
Joined: Jan 02, 2017 0:34
Location: UK

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby deltarho[1859] » Jun 08, 2019 16:12

Blimey, I did let it slip. <smile>

coderJeff wrote:So fbc itself gets a lot of building and testing with those 2 versions on my system.

That is a forceful argument for considering gcc 7.1.0 for the next release although 7.4.0 may be a better bet.
coderJeff
Site Admin
Posts: 3342
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby coderJeff » Jun 08, 2019 18:48

I knew last year that would have to address it soon anyway. It would be helpful if the experts in the community can weigh in and give their recommendations. I try my best to know about the dos/linux/win targets, however, I also know that there are members in the community that know more than me.

I think mostly affects STANDALONE versions of fbc; the packages that come with a gcc and binary tools. For non-standalone targets, it's usually best to build your own version of fbc using the tools already installed on the target platform (e.g. Linux distros).

To re-tool the production line:
- confirm 7.4.0 is actual default and most common currently for mingw-w64 and this is a good version to target.
- for old 32-bit mingw.org, we probably still going to be using old gcc 4.8.1
- On my current installation of ubuntu 14.04, gcc is version 4.8.4
- as marcov pointed out ubuntu 14.04 is out of support April 2019. The next version available for Travis-CI (which verifies builds and tests development version of fbc) is ubuntu 16.04, which is still only gcc 5.4.0.
- The TinyCore distro I tried was at gcc 7.2.0, though I have not updated in months
- other members will probably find other versions of gcc as default on their systems
deltarho[1859]
Posts: 2696
Joined: Jan 02, 2017 0:34
Location: UK

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby deltarho[1859] » Jun 15, 2019 17:15

I have given Encrypternet a hammering using 9.1 and it has not put a foot wrong. Taking srvaldez's lead I am using '-strip -gen gcc -Wc -O2' instead of -O3 and I am getting 32-bit at 116KB and 64-bit at 115.5KB. PowerBASIC is known for knocking out small binaries but even it may be shaking in its boots with those figures and, of course, PB is 32-bit only and may be for some time.

In fact, I intend sticking my neck right out and will be replacing the Encrypternet download with 9.1. Nerves of steel. <laugh> Encrypternet is about security and not performance but it will create a 100MB target file package in about 734ms on my machine, mean of five tests, so it is not exactly slow.

My website will include the statement: "Encrypternet was written using FreeBASIC 1.06 and the gcc compiler 9.1." That will make dodicat happy.

If you Google 'Encrypterent' it appears at the top of the page. I will be writing to some magazines shortly to see if I can get any interest, who knows we may see a few folk calling at freebasic.net to see what it is all about. We'll see <fingers crossed>
srvaldez
Posts: 2538
Joined: Sep 25, 2005 21:54

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby srvaldez » Jun 15, 2019 18:55

I did notice that the compile times were quite snappy :-)
srvaldez
Posts: 2538
Joined: Sep 25, 2005 21:54

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby srvaldez » Aug 26, 2019 1:02

FreeBasic compiled with Equation Solution's toolchain version 9.1.0 http://www.equation.com/servlet/equation.cmd?fa=fortran
Last edited by srvaldez on Sep 03, 2019 13:46, edited 1 time in total.
coderJeff
Site Admin
Posts: 3342
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby coderJeff » Aug 26, 2019 17:40

srvaldez, nice!

It's good timing too, I'm just putting together a 1.07.0 release, but it's still on the old gcc tool chain. It is very generous of you to provide this package for users. I have some questions, which I will ask in your other thread new mingw toolchain. Thanks, dude.
srvaldez
Posts: 2538
Joined: Sep 25, 2005 21:54

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby srvaldez » Aug 26, 2019 23:26

I am humbled by your kind words, but it was only to test the mingw toolchain, to see whether it would be suitable for building FB or not.
deltarho[1859]
Posts: 2696
Joined: Jan 02, 2017 0:34
Location: UK

Re: FreeBASIC-1.06.0-Win gcc-9.1

Postby deltarho[1859] » Aug 27, 2019 5:48

@srvaldez

Have been a bit pushed for time but just found some to download from your Aug 26, 2019 1.02 post.

First port of call was Encrypternet.

1.07/9.1 32 & 64 bit.

One word: WOW! <smile>

Return to “Community Discussion”

Who is online

Users browsing this forum: No registered users and 10 guests