last version of C::B Advanced

Discuss anything not covered by any of the other categories.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: last version of C::B Advanced

Post by mankrip »

Yeah, my new laptop is 64 bits but I want to install it on a virtual machine, so 32 bit is the way to go.

The download is taking a little longer because for some reason it's coming at around 30KB/s; I'm getting the Msys32-Install-6.bin now.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

The download is taking a little longer because for some reason it's coming at around 30KB/s; I'm getting the Msys32-Install-6.bin now.
Happens sometimes, sourceforge hosts a lot of projects so the strain on there servers can sometime lead to slow download times.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Erf small bug snuck in the last update, i forgot to change the path to the static qt5 build in the installer :S so the binpatcher fails.
Luckily it does not matter as the same path msys2 was installed to is allready patched in so unless you move the package (which is a big nono) everything works as it should anyway :).

My package is not really relocatable hence why i disabled installing it in other places.
You can move it but then you need to change the internal paths of quite a lot of tools, not only QT5 but several cmake based packages also use absolute windows paths so its not an easy thing to do.

In time ill check for a way to make a relocatable version, but with its size its hardly anything you would like on a USB stick :P
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Ok after more patches than should be nessesary for a release build compiler i can present gcc-5.1.0.

Things that dont work.

vtable-verify is broken on windows the libvtv library is not included and do not use it! it does not work.

new stuff.

openmp had a rather hefty update to its codebase but it needed a ton of patching afterwards because of some serious bugs that turned up.
the stack smashing protector function was also broken (libssp) which needed even more patching.
all the bugs patched in the previous gcc-4.9.2 where still present in 5.1.0 so a ton of patches again.
someone broke the __EH_FRAME_SECTION__ macro by declaring it static, it took months to fix, and nearly broke dwarf debugging.

libvtv was announced as working on windows but its not, if you enable it the bootstrap will fail with tons of undefined references to the libvtv stubs library (the exports are wrong).
sadly thats not the only thing thats broken in it, stage 2 bootstrap fails to even link to the stub library and hence also fails. An attempt at getting around windows inability to handle weak symbols was made,
but it does not work.

Tbh im not to pleased with the state this compiler is in so im not going to put it in my next update of the compiler suite, instead ill upload it with an install script in case you still want to upgrade.
if you want to go back to the older gcc again ill also upload an install package of the previous compiler, pacman can both up and downgrade installed packages so its pretty easy to go back in case you want.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

its up, god help us all :)
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Some big news.

Wery soon we will have a standalone clang compiler for windows :)
seems alexy (Msys2 dev) has done a rather nice job on porting the remaining functions and libraries to support both ARM and Windows.
Libc++ and Libc++abi are now both working and used by clang on windows.
LLD the clang linker also works now.

So soon we can say goodbye to gcc as the main compiler for good, leaves me working out how to differentiate the x86 vs x64 build archs for my modified codeblocks project.
MinGW64 will not go away though it still has its uses for creating autotool based libraries and a lot of code would need to be ported to clang before it would be obsolete.
Productivity is a state of mind.
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: last version of C::B Advanced

Post by qbism »

Good to see progress on clang due to the promise of better code analysis and faster compile times.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Nothing against gcc as such, it has done the job pretty well over the years :) but the more recent releases have been so bug ridden and in need of so much patching that
i kinda look forward to when clang can be used standalone on windows.

The good thing atleast from my point of view is that we can say goodbye to having dependencies on the gcc runtime.
In gcc i have to use a rather old patch originally created for the gcc3 compiler because at the time gcc's runtime could not be build as a dll, which was needed to throw exceptions across dll boundaries.
This patch allows statically linked runtimes to still throw exceptions but its rather messy.
Clang only relies on native windows runtime dll's so we can avoid all the above :).
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

By popular request next upload will also include my old Msys1 based suite.
Though its rather old now it still has some nice stuff you will be hard pressed to find anywhere else if developing on windows.
Things like working expect, needed for gcc testsuites unless you want to hack in old dejagnu support :P.
Expect cannot be built for msys2 64 yet and it will take a lot of patching on the older versions because newer tcl/tk versions dont support crosscompiling anymore.
So for grunt work on bootstrapping gcc the old package still shines :).

My next Msys2 upload will have the latest clang build, and its come quite far.
Clang is now allmost 100% standalone it uses its own standard library that defaults to C++11, pretty much only the windows abi headers and crt which are the same gcc uses are still needed by clang.
Clang can build the mingw-w64 abi without using mingw gcc though so its actually fully standalone.
It can also hook up to msvc as a replacement compiler but i still need to figure out exactly how to set it up, when i do i will include this functionality in the installer.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

sourceforge is unfortunatly broken atm, so next upload will be a bit delayed.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Ill probably dump sourceforge soon, because of some troubling news i recieved.
Seems Sourceforge plays dirty with the projects and includes malware in there installers.
Luckily my installers are not made with the sourceforge installer but with inno setup, still i cant condone hosting on a site that is getting known for hijacking projects to spread malicious software.

Looking at alternatives atm.
Since my installer is so large even though its split up, most free hosting sites cant host it due to
maximum size issues. Ill see if i can find one that can.

If it fails i will have to rent a site, and maybe change to a donation based system to keep it running.
No this does not mean it wont be free :) the donations are purely volountary, but it would help me
with the cost of running my own server + maintainance of the package and new features.
Would also make me more inclined to add user requested features :).

But lets see what comes up.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Scourgeforce still not back to normal :( cant upload new stuff.

When and if it gets up again heres some new things.

ResIL (DevIL continued) added supports all image formats + OpenEXR and the Squish DXR compression protocol. Dropped allegro support for now cause it does not
work to well with the new version of allegro. Supports SDL.

gcc upped to 5.2 still needs a good deal of patching and vtable verify still not working but else it works fine.
binutils upped to latest from git finally seems to work correctly again.
clang upped to version 3.7 from git, now supports crosslinking with msvc and has its own standard library so you can use it standalone if you want :).
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Finally new version is up, enjoy.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Started migrating the 32 bit compiler to use sjlj exceptions again, as it turns out its actually faster and more stable. Downside is that executables will be a wee bit larger
as sjlj injects the exception code into the executables whereas dwarf does not. Should also fix the problem with QT crashing all the time because of being linked to the static runtimes.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Ok as suspected QT5 works just fine when using the sjlj exceptions code :) +1 to me on spotting that.
Downside is that debugging gets a bit more troublesome because of the injected code but speed seems quite fair atleast.

Atm im in the process of recompiling everything in my suite to match up with the dwarf2 build, though i might skip a few tools that can be downloaded seperatly
like gimp and blender which are rather huge.

I also added expect to the package so that the gcc test suites now work fully when bootstrapping.

Ill add the svn build of clang as a seperate download installable with the pacman command 'pacman -U clang-<arch>-svn.any.pkg.tar.xz' this will upgrade the stable version included in my installer. The new version supports crosslinking with msvc libraries and uses its own standards library instead of gcc's libstdc++.

I also added support for the tcl/tk based git gui allthough that one atm relies on a mingw built wish executable. I hope to have an msys based version soon though.
Productivity is a state of mind.
Post Reply