dosbox-staging:kc/sign-extend-ppc-1

Last commit made on 2024-01-04
Get this branch:
git clone -b kc/sign-extend-ppc-1 https://git.launchpad.net/dosbox-staging

Branch merges

Branch information

Name:
kc/sign-extend-ppc-1
Repository:
lp:dosbox-staging

Recent commits

3c8ff4c... by Cameron Kaiser

Don't sign extend 16-bit immediates to 32-bit in ppc dynrec, fixes #2846

Signed-off-by: kcgen <email address hidden>

a4fe121... by kcgen <email address hidden>

Accommodate a larger count size in the full core

0a6c3f1... by kcgen <email address hidden>

Fix an undefined behaviour in the 32-bit signed multiplier

DIMULD ("double word integer multiplied with double word integer")
multiplies signed 32-bit values (op2 and op3), and stores the result
in op1, also a signed 32-bit variable.

The result of the multiplication is allowed to overflow the capacity
of op1; if so, then the carry and overflow bits are set.

Ref: https://docs.oracle.com/cd/E19455-01/806-3773/instructionset-39/index.html

The issue is that operands were being cast straight from their
incoming uint32_t register types up to signed 64-bit values, instead
of first being cast to signed 32-bit values.

This was caught while testing Frontier - First Encounter with a
position independent UBSAN build:

meson setup --buildtype=debug \
             -Db_sanitize=undefined \
             -Db_pie=true \
             -Db_staticpic=true build/ubsan

runtime error: signed integer overflow: 4294934784 * 4294950322
               cannot be represented in type 'long long'

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
         ../../src/cpu/core_normal/prefix_66_0f.h:236:4 in

dbd2307... by Daniel Bomar

Fix DOS_DeviceHasName function to correctly check string lengths

ed4d383... by John Novak <email address hidden>

website: fix site URL in mkdocs.yml

998a3ef... by FeralChild64 <email address hidden>

Pass button press events to guest side if gaining focus in seamless mode

d9d90c0... by Burrito78 <email address hidden>

Update german translation for v0.81 RC1

- More translation fixes.

763f6a4... by kcgen <email address hidden>

Lookup the resource file when getting lines

e2451dc... by Kirk Klobe <email address hidden>

Add header guard

6d308a7... by John Novak <email address hidden>

website: add joystick support info to the getting started guide