ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only)

Showing 1-10 of 10 messages
ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) Andris Pavenis 4/24/14 9:56 AM

This is announcement of DJGPP port of GCC-4.9.0

GCC used to stand for the GNU C Compiler, but since the
compiler supports several other languages aside from C,
it now stands for the GNU Compiler Collection.

**********************************************************************
* WARNING: only port for DJGPP 2.04 development versions is provided *
**********************************************************************

Warning: DJGPP port of binutils-2.22 or newer is recommended.
          Version 2.19 and 2.20 may work but are not tested
          It is however recommended to use binutils-2.22
          or newer

Use of DJGPP port of binutils-2.22 or newer is however required for
building gcc-4.9.0 for DJGPP.

=======================================
Build for current development version of DJGPP (djdev204) is
available
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/
and mirror sites (see http://www.delorie.com/djgpp/getting.html)

ada490b.zip     GNU Ada compiler 4.9.0 for DJGPP V2
     (NOTE: contains 1 file name conflict on systems without LFN)
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/ada490b.zip

gfor490b.zip    GNU Fortan 95 compiler 4.9.0 for DJGPP V2
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gfor490b.zip

gcc490b.zip     GNU GCC 4.9.0 for DJGPP V2
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gcc490b.zip

gcc490s.zip     GNU GCC 4.9.0 sources for DJGPP
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gcc490s.zip

gpp490b.zip     GNU C++ Compiler 4.9.0 for DJGPP V2
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gpp490b.zip

objc490b.zip    GNU Objective C and Objective C++ compiler and
                  runtime libraries v4.9.0
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/objc490b.zip

ada490d.zip     Documentation for GNU Ada compiler
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/ada490d.zip

gfor490d.zip    Documentation for GNU Fortran compiler
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gfor490d.zip

gcc490d.zip     Documentation for GNU C compiler
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gcc490d.zip

gcc490.README DJGPP specific readme file
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/README.gcc490
     (it is identical with file gnu/gcc-4.90/readme.DJGPP in archives
           gcc490b.zip and gcc490s.zip)


Binaries are built and tested mostly under Windows Vista Business (SP2)

========================================
Build for DJGPP 2.03p2 is not and most likely will not be available.
Using binaries for DJGPP v2.04 with DJGPP v2.03p2 is not tested
at all and is likely not to work properly especially for C++
and Ada

Source RPMS needed for building Linux to DJGPP cross-compiler
=============================================================

Binary RPMs for both i686 and x86_64 are available. I built these binary RPMs
in CentOS 5.10 chroot under Fedora 20. Binaries are statically linked with GMP-6.0.0
(6.0.0a only contains documentation fixes), MPFR-3.1.2 and MPC-1.0.1 to avoid
unnecessary dependencies and increase compatibility with other
Linux distributions. For example they are expected to work without
problems in other reasonably recent Linux distributions (like Fedora, RHEL-5 and newer,
etc)

gcc490s2.zip is no more provided as patching GCC using DJGPP tools
has not been tested and even attempted by me for a long time.
DJGPP source file gcc490s.zip is a side product of building
gcc-4.9.0 Linux to DJGPP cross-compiler RPM packages. See source
RPM for patches applied to original FSF version of GCC-4.9.0.
You can find the same contents in the file

ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/djcross-gcc-4.9.0.tar.bz2


Cross-compiler SRPM:

ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/djcross-gcc-4.9.0-1ap.src.rpm

Cross-compiler binary RPMs (built under CentOS 5.9 i386, are expected to work on other
recent enough RPM based Linux distributions, I myself have tried Fedora 19 x86_64):

     GNU C compiler:
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-4.9.0-1ap.i686.rpm

     GNU C++ compiler:
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-c++-4.9.0-1ap.i686.rpm

     GNU Ada compiler:
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-gnat-4.9.0-1ap.i686.rpm

     GNU Fortran compiler:
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-gfortran-4.9.0-1ap.i686.rpm

     GNU Objective C and Objective C++ compilers:
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-objc-4.9.0-1ap.i686.rpm

     Tools for GCC 4.9.0 (currently only fixincl, most users do not need this):
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-tools-4.9.0-1ap.i686.rpm

     Info files of GCC-4.9.0 (a separate RPM file as these files are expected to
     conflict with system compiler info files, but You do not need to install them...):
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-gcc-4.9.0/i686/djcross-gcc-info-4.9.0-1ap.i686.rpm

Substitute i686 with x86_64 For x86_64 binary RPMs in the URLs above.

You need also cross binutils (choose required binary RPM file or build from SRPM)
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-binutils-2.24-1ap.src.rpm
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-binutils-2.24-1ap.i686.rpm
ftp://ftp.delorie.com/pub/djgpp/rpms/djcross-binutils-2.24-1ap.x86_64.rpm

You need also DJGPP development libraries, include files and some tools (eg. stubify)
ftp://ftp.delorie.com/pub/djgpp/rpms/djcrx-2.04pre_20140410-19ap.i686.rpm
ftp://ftp.delorie.com/pub/djgpp/rpms/djcrx-2.04pre_20140410-19ap.x86_64.rpm
ftp://ftp.delorie.com/pub/djgpp/rpms/djcrx-2.04pre_20140410-19ap.src.rpm
      (2014/04/10 CVS version)
Note that one can use
      ftp://ftp.delorie.com/pub/djgpp/rpms/djcrx-2.04pre-5.src.rpm
for bootstrapping (one may need to replace djlsr204.zip in it with newer file generated from CVS
sources)



=========================================

See
     http://gcc.gnu.org/gcc-4.9
for more information about GCC-4.9.0 and about changes in comparison
with earlier versions

Also see file gnu/gcc-4.90/readme.DJGPP (from gcc490b.zip and
gcc490s.zip) or
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gcc490.README for more
information about this port.

There is also my web page about DJGPP port of GCC

http://www.iki.fi/andris.pavenis/djgpp/gcc

I cannot promise however, that I'll update it very often.
However new versions may appear there earlier (including ones not available
from ftp://ftp.delorie.com).


Andris Pavenis <andris DOT pavenis AT iki DOT fi>

Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) RayeR 4/25/14 6:13 PM
Hm, this gcc 4.9.0 generates ~5-10% bigger code after UPXing than older 4.8.2 :\
I keep 4.8.2 yet...
Re: ANNOUNCE: DJGPP port of GCC-4.9.0 (DJGPP v2.04 only) rug...@gmail.com 4/30/14 12:03 PM
Hi,

On Thursday, April 24, 2014 11:56:10 AM UTC-5, Andris Pavenis wrote:
>
> This is announcement of DJGPP port of GCC-4.9.0

Thanks again for your efforts.
 
> ada490b.zip     GNU Ada compiler 4.9.0 for DJGPP V2
>
> Binaries are built and tested mostly under Windows Vista Business (SP2)
>
> See
>
>      http://gcc.gnu.org/gcc-4.9
>
> for more information about GCC-4.9.0 and about changes in comparison
> with earlier versions

"GNAT switched to Ada 2012 instead of Ada 2005 by default."

According to this:

http://www.adaic.org/resources/add_content/standards/12aarm/html/AA-2-9.html

"3.f/3 {AI05-0176-1} The following word is not reserved in Ada 2005, but is reserved in Ada 2012: ''some''. Uses of this word as an identifier will need to be changed, but we do not expect them to be common."

Which of course applies to us testing Gautier's 3D engine.

https://sites.google.com/site/rugxulo/eng3d018.zip?attredirects=0

I tested ada490b.zip under Lucid Puppy Linux running DOSEMU.

dpmi -m 0x20000
unzip \zips\eng3d018.zip
cd engine3d\demos
make_it -gnat05

Otherwise it chokes on the keyword in unzideco.ads and unzideco.adb . Though of course it still seems to (mostly) run okay once compiled, so that's good enough.
Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) RoBoard Lab 5/12/14 12:02 AM
update the build script and cross compiler for Win/Mac to GCC 4.9.0:

https://github.com/andrewwutw/build-djgpp/releases

--- news://freenews.netfront.net/ - complaints: ne...@netfront.net ---
Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) Andrew Wu 5/15/14 4:18 AM
RayeR於 2014年4月26日星期六UTC+8上午9時13分46秒寫道:
> Hm, this gcc 4.9.0 generates ~5-10% bigger code after UPXing than older 4.8.2 :\
>
> I keep 4.8.2 yet...


Hi,

Are you using gcc 4.8.2 + djdev203.zip or gcc 4.8.2 + djdev204.zip? It seems djdev203.zip has a much smaller libc.a library than djdev204.zip. Maybe this is why your gcc 4.8.2 generates a smaller executable file than gcc 4.9.0.

Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) RayeR 5/18/14 9:04 AM
I've been using djdev 2.04 for a long time, I know that 2.03 libc makes smaller exe. But in this case I'm comparing the result only after updating the compiler, anything else... (with previous gcc releases I sometimes even observed the exe is smaller a bit but not in this case 4.8.2->4.9)
Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) Andris Pavenis 5/18/14 10:11 AM
On 05/18/2014 07:04 PM, RayeR wrote:
> I've been using djdev 2.04 for a long time, I know that 2.03 libc makes smaller exe. But in this case I'm comparing the result only after updating the compiler, anything else... (with previous gcc releases I sometimes even observed the exe is smaller a bit but not in this case 4.8.2->4.9)
>
>
What optimization level did You use? I do not think that size can be reliably compared unless
optimization level is -Os (optimize for size).

Andris

Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) RayeR 5/18/14 12:38 PM
> What optimization level did You use? I do not think that size can be reliably compared unless optimization level is -Os (optimize for size).

Well I checked again and I had used -O2.
So I retested with -Os and got much more comparable result, still file is a bit bigger from 4.9.0:
before strip+UPX: 265728B vs 266240B
after strip+UPX: 120016B vs 120464B
Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) Andris Pavenis 5/18/14 9:05 PM
There is almost 10K growth of size of libgcc.a (lib/gcc/djgpp/4.90/libgcc.a for 4.9.0). It is
linked with any program. I guess that could
explain the growth of size.

Andris

Re: ANNOUNCE: DJGPP port of GCC-4.8.2 (DJGPP v2.04 only) Andrew Wu 5/19/14 4:57 AM
Hi. If you are concerned about executable file size, you can check
this link for gcc code size optimizations :

https://software.intel.com/en-us/blogs/2013/01/17/x86-gcc-code-size-optimizations