binutils Newspaper
JULY 29, 2026
binutils Proposed

ld testsuite: Update "__patchable_function_entries section [2-6]" test cases

Updates ld test cases to accommodate the change in default H8 architecture.

This patch addresses test case failures in the ld test suite resulting from the change in the default H8 architecture to H8/300H. The H8/300H variant uses 32-bit addresses in its default advanced mode, differing from the H8/300’s 16-bit addresses, which caused existing test cases related to the __patchable_function_entries section to fail. The patch updates these tests to align with the new addressing behavior.

In the Thread 1 participant
  1. Jan Dubiec <jdx@o2.pl> proposer

    Submits a patch to update ld test cases that failed due to the switch from H8/300 to H8/300H as the default architecture, adjusting for the change in address size.

    “Changing the default H8 architecture from H8/300 to H8/300H caused these test cases to fail, as shown below. H8/300H uses 32-bit addresses in its default advanced mode, whereas H8/300 uses 16-bit addresses. The following patch updates the affected test cases accordingly.”

In Details

This patch is part of a series (see previous digest item) that changes the default H8 architecture in binutils from H8/300 to H8/300H. This change has ripple effects, particularly in the linker's test suite. The H8/300H architecture, in its default advanced mode, uses 32-bit addresses, whereas the H8/300 uses 16-bit addresses. Test cases specifically examining sections like __patchable_function_entries now need to be adjusted to reflect this change in address representation and potential section size differences.

For Context
ld testsuite
A collection of tests designed to verify the correct functionality of the GNU linker (ld).
__patchable_function_entries
A section in an executable or object file, often used in embedded systems or for specific compiler features, that contains entries pointing to functions that may be patched or modified at runtime. The addressing and size of this section can depend on the target architecture.
H8/300H
A specific microcontroller variant in the Renesas H8 family, characterized by its 32-bit internal architecture and addressing capabilities, often used in embedded systems.
H8/300
An earlier and simpler variant of the Renesas H8 microcontroller family, typically operating with a 16-bit address space in its default configuration.
linker
A program that combines object files and libraries into a single executable or library, resolving symbol references and performing address adjustments.

Part of a Series

Filed Under: H8linkertestsuitedefault architectureembedded