Menu

SDCC 4.4.0 Release

Maarten Brock Philipp Klaus Krause Benedikt Freisen
Delivery Planned date Actual date
SDCC 4.4.0 RC1 2023-12-20 2023-12-21
SDCC 4.4.0 RC2 2024-01-02
SDCC 4.4.0 RC3 2024-01-21
SDCC 4.4.0 Release 2024-01-03 2024-01-29

See the [SDCC 4.4.0 Release Plan].

Tasks

If you think there is a functionality that should be included or a bug that needs to be fixed in the release, please submit it to the Feature Requests at https://sourceforge.net/p/sdcc/feature-requests/ or Bugs at https://sourceforge.net/p/sdcc/bugs/ and copy Request ID and Summary fields to the following table, where:

Request ID: Request ID from Feature Requests or Bugs
Summary: Summary from Feature Requests or Bugs
Proposed by: Who proposed the feature or bug fix
Time: Estimate of the implementation time
Developer: Who will implement the feature or bug fix
Status: Current status

Request ID Summary Proposed by Time Developer Status
[feature-requests:#279] Accessing the stack spth work in progress
[Assemblers and Linkers] sdas merge with asxxxx 5.0 borutr a lot more maarten, basxto, (borutr) work in progress
[feature-requests:#324] float classification macros spth POSTPONED
[feature-requests:#380] Handle static vars like global ones in initialization spth POSTPONED
[feature-requests:#327] mcs51 code in device/lib spth POSTPONED
[feature-requests:#332] Compound literals spth POSTPONED
[feature-requests:#403] Regression testing for pic16 spth POSTPONED
[feature-requests:#450] K & R function style spth POSTPONED
[feature-requests:#531] Algebraic optimization on masked xor spth POSTPONED
[feature-requests:#530] Narrowing loop counters spth work in progress
[feature-requests:#543] Leaner source: Remove pic14/pic16 autogenerated header and lib from source tree spth POSTPONED
[feature-requests:#253] Register parameter passing spth spth work in progress
[feature-requests:#597] Implement C99 header inttypes.h roybaer roybaer DONE
[bugs:#2700] Debug info for local variables that live in multiple iTemps spth POSTPONED
[bugs:#2701] dwarf debugging: local variables has wrong scope spth POSTPONED
[bugs:#2733] False "overflow in implicit constant conversion" warning spth POSTPONED
[bugs:#2906] static local variables problem spth POSTPONED
[bugs:#3303] Wrong paths in the generated elf file roybaer roybaer work in progress
[bugs:#3491] Fresh build with --disable-sdbinutils will fail spth POSTPONED
[bugs:#3555] sdbinutils install doesn't respect prefix spth POSTPONED
[bugs:#3628] parallel uCsim build broken spth spth WORKSFORME
[bugs:#3617] Something weird about Debian GNU/Linux on aarch64 regression tests spth spth DONE
[bugs:#3634] Problems with shifting wide (> 32 bit) variables) spth spth DONE
[bugs:#3656] Access to volatile-qualified object is unexpectedly omitted spth spth DONE
[bugs:#3661] [sdas] Bit shift problem with 4.3.0 spth spth DONE
[bugs:#3650] Regression-testing on OpenBSD amd64 is a fork-bomb spth spth WORKSFORME
[bugs:#3652] [r2k, r2ka, r3ka] Several bugs in crt0.s spth spth DONE
[bugs:#3642] Missed complement operation after lrange optimization spth spth DONE
[bugs:#3667] ds390 regression tests crash on Windows on amd64 spth spth DONE
[bugs:#3669] Can no longer cross-compile for Windows (abort issue in preprocessor) spth felixs DONE
[bugs:#3675] Parameter sent to wrong function spth spth DONE

Feature List

There is always a problem to create a list of new features when a new SDCC release is announced. The following list is an attempt to create such a list "on the fly". Every time a new feature which is visible or interesting for the SDCC users is implemented, it should be added to the following list.

  • Optimizations for rotations.
  • struct / union parameters for hc08, s08 and mos6502.
  • Many bug fixes for -ms08 --stack-auto.
  • struct / union return support for hc08 and s08 (caller side only).
  • Generalized constant propagation.
  • New command line option --syntax-only to only parse the input.
  • Added C99 header inttypes.h
  • Added library functions imaxabs, imaxdiv, llabs, strtoimax, strtoll, strtoull, strtoumax, wcsncmp, wcstoimax, wcstol, wcstoll, wcstoul, wcstoull, wcstoumax
  • New r800 port to better support the ASCII Corp R800 and Zilog Z280.
  • Changed the default calling convention for r2k, r2ka, r3ka, tlcs90, ez80-z80 from version 0 to 1 (this is an ABI break, and will require changes to user-written asm functions or their declarations).
  • Improved optimizations for code speed for stm8, pdk, z80 (and related).
  • New mos65c02 port to better support the WDC 65C02.

Related

Bugs: #2700
Bugs: #2701
Bugs: #2733
Bugs: #2906
Bugs: #3303
Bugs: #3491
Bugs: #3555
Bugs: #3617
Bugs: #3628
Bugs: #3634
Bugs: #3642
Bugs: #3650
Bugs: #3652
Bugs: #3656
Bugs: #3661
Bugs: #3667
Bugs: #3669
Bugs: #3675
Feature Requests: #253
Feature Requests: #279
Feature Requests: #324
Feature Requests: #327
Feature Requests: #332
Feature Requests: #380
Feature Requests: #403
Feature Requests: #450
Feature Requests: #530
Feature Requests: #531
Feature Requests: #543
Feature Requests: #597
Wiki: Assemblers and Linkers
Wiki: Home
Wiki: SDCC 4.4.0 Release Plan

Discussion

  • Aoineko

    Aoineko - 2024-02-04

    Hi,

    There is no binaries for SDCC 4.4.0 for win64 platform (https://sourceforge.net/projects/sdcc/files/sdcc-win64/4.4.0/).

    Is it a known issue?

    win64 have only binaries for RC 1, 2 and 3.

    win32 have binaries SDCC 4.4.0, but as I'd like to do a big set of comparative tests with version 4.2.0, which I'm currently using and which is using win64, I need a win64 version of 4.4.0 for tests to be really relevant (at least in terms of build speed).

    Best regards,

     

    Last edit: Aoineko 2024-02-04
    • Benedikt Freisen

      It is a known issue. There were apparently strange code generation stability issues only affecting 64 bit Windows builds and they could not be resolved in time for the already delayed release. In fact, the 4.4.0 release was therefore announced with the words “Sources, documentation and binaries for GNU/Linux amd64, Windows x86, macOS amd64 are available.”.

       
      • Aoineko

        Aoineko - 2024-02-04

        Do you mean I should not expect any SDCC 4.4.0 version compatible with win64 platform?
        Switching to the win32 version could have a significant negative impact on build times.
        If there really isn't a win64 version of SDCC 4.4.0 in the near future, I'll do my tests with the win32 version.

         
        • Maarten Brock

          Maarten Brock - 2024-02-05

          I guess this depends on whether we find a proper solution quickly. If so, there might be an intermediate release. And otherwise there will only be the win32 variant for Windows.

          It would be interesting to know about different build times between win32 and win64.

           

Log in to post a comment.