Tcl Source Code

View Ticket
Login
Ticket UUID: 8f7fdea2dfe5a2955cf729aa7c5a433f290d9112
Title: string-2.20.1 fails on big endian
Type: Bug Version: 8.6.13
Submitter: max Created on: 2023-01-12 13:47:36
Subsystem: 18. Commands M-Z Assigned To: pooryorick
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2023-01-18 17:09:37
Resolution: Fixed Closed By: jan.nijtmans
    Closed on: 2023-01-18 17:09:37
Description:
We recently found that string-2.20.1 fails when building Tcl for SUSE Linux on big endian platforms like PPC, PPC64 and s390x.

It turned out that the failing test was new in 8.6.13, but bisecting the code revealed that the actual bug had been there since 2018: [1841bf54d1b3257e].

The actual bug was in an optimisation that gets used differently on big endian than on little endiean and that didn't handle the distinction between chars and bytes correctly in at least some cases.

As a workaround I removed the optimisation (will attach the patch), and will leave it up to others that are more familiar with the code than I am to decide if it should be left out or fixed.
User Comments: jan.nijtmans added on 2023-01-18 17:09:37:

Fix now merged to core-8-branch and trunk, so the ticket can be closed.


jan.nijtmans added on 2023-01-18 09:23:25:

See https://core.tcl-lang.org/tips/doc/trunk/tip/386.md ("Workflow" section).

The merge to higher branches is not done automatically, so if you fix a bug you should manually merge it up.


pooryorick added on 2023-01-18 08:21:08:
Isn't 8.6 was routinely merged up to core-8-branch, and core-8-branch routinely merged up to trunk?  If so, is it not sufficient then to fix an error on the lowest version to which the fix applies?  Is there developer documentation somewhere regarding such details?

jan.nijtmans added on 2023-01-16 23:05:33:

@pouryorick, Please, if you fix it in core-8-6-branch, propagate the fix to core-8-branch and trunk too. Only then, this ticket can be closed.


pooryorick added on 2023-01-15 19:31:37:

Fixed in [9858a68816f2053a]. Thanks for the report, and the help diagnosing and verifying the fix!


Attachments: