delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2012/04/23/19:38:13

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Message-Id: <201204232337.q3NNbRfP021787@delorie.com>
From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: release 3 of DJGPP port of GNU binutils 2.22 uploaded.
Date: Tue, 24 Apr 2012 01:33:40 +0200

This is release 3 of the port of GNU binutils 2.22 to MSDOS/DJGPP.

  The GNU binutils are utilities of use when dealing with binary files, either
  object files or executables.  These tools consist of the linker (ld), the
  assembler (gas), and the profiler (gprof).  There is also a collection of
  other binary tools, including the disassembler (objdump).  These tools make
  use of a pair of libraries (bfd and opcodes) and a common set of header files.



  DJGPP specific changes.
  =======================
  - This release fixes a bug concerning the creation of the internal
    section header from the COFF section header when an object file
    is read by the linker.  The bug is related to the use of COFF debug
    info (-gcoff).  AFAIK, the support of  COFF debug info is brocken
    in gcc 4.6.N and later and it use is not recommended, neitherless
    the bug had to be fixed.

  OFYI how the DJGPP specifc support for number of relocations greater than 64K
  works:

  - If the number of relocations of an object file exceeds 65534 then s_nreloc
    in the section header is set to 65535 to signal the overflow and the real
    number of relocations is stored in an extra COFF relocation directive.
    This is always the first relocation directive in the sequence of relocation
    directives of this object file.  The 32 bit field r_vaddr is used to store
    the real number of relocations.  This extra relocation directive is later
    removed.  To signal this overflow also the STYP_NRELOC_OVFL bit (0x01000000)
    is set in the s_flags field of the section header.
  - If the number of lines of an object file exceeds 65535 then the assembler
    will abort with an error message.  This can only happen if COFF debug info
    is used.  There is no work around for this issue.
  - When the linker creates an executable file from the objects files and the
    total number of lines exceeds 65535 the lower 16 bit of that value will be
    stored in the s_nlnno field and the higher 16 bit in the s_nreloc field of
    the section header of the executable file.  This can only happen if COFF
    debug info is used.

  As a lot of threads during the last months have shown, the COFF debug info
  support is brocken in gcc so its usage is discoraged.



  The port consists of the usual four packages that have been compiled
  using stock djdev203 and that can be downloaded from ftp.delorie.com
  and mirrors as (time stamp 2012-04-22):

    GNU binutils 2.22 binary and info format documentation:
    ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bnu222br3.zip

    GNU binutils 2.22 bfd, liberty and opcode libraries and headers:
    ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bnu222ar3.zip

    GNU binutils 2.22 dvi, html, ps and pdf format documentation:
    ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bnu222dr3.zip

    GNU binutils 2.22 source:
    ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/bnu222sr3.zip


  The binaries have been produced a second time using the stock version of
  djdev204 beta library.  This package is available at ftp.delorie.com and
  mirrors as (timestamp 2012-04-22):

    GNU binutils 2.22 binary and info format documentation:
    ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/bnu222br3.zip

    GNU binutils 2.22 bfd, liberty and opcode libraries and headers:
    ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/bnu222ar3.zip


  Send binutils specific bug reports to <bug-binutils AT gnu DOT org>.
  Send suggestions and bug reports concerning the DJGPP port to
  comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.


Enjoy.

        Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>


PS:  I have tried to test this port by compiling it together with the gcc 4.7.0
     sources available at Andris homepage.  For the first round I used a stock
     DJGPP 2.04 installation, especially gcc 4.6.2 and binutils 2.21.1.
     I build and installed this release of binutils 2.22 on WinXP Pro SP3.
     Then I build gcc 4.7.0.  Then the gcc and binutils binaries were installed
     in a stock DJGPP 2.04 installtion on a Win98SE maschine.  First binutils
     were build and installed then gcc was build.  The produced binutils and
     gcc binaries were then installed in a stock DJGPP 2.04 installation on a
     Win2K SP5 maschine.  The same procedure was then repeated and the resulting
     binaries were installed on the WinXP Pro SP3 maschine.  Here a last time
     the procedure was repeated.
     The second round of the test was to repeat the hole procedure sequence but
     this time using a stock DJGPP 2.03 installation.  Due to serious difficulties
     during the configuration stage of gcc on Win2K, the building of gcc on a
     Win2K maschine had to be skipped.  These difficulties may be solvable by
     replacing fileutils and some other utilities by those versions compiled
     with DJGPP 2.04.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019