aboutsummaryrefslogtreecommitdiff
path: root/tccpp.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2015-12-17 19:41:20 +0100
committerMichael Matz <matz@suse.de>2015-12-17 19:41:20 +0100
commitf15c0a93336ef42cec51d00667b5fd60fb309cd5 (patch)
tree9c085e51cc8754463d27fac5d516fe9d7533c3c6 /tccpp.c
parente264243adc0910fba204fd05292a8353e272bd0e (diff)
downloadtinycc-f15c0a93336ef42cec51d00667b5fd60fb309cd5.tar.gz
tinycc-f15c0a93336ef42cec51d00667b5fd60fb309cd5.tar.bz2
x86-64: fix shared libs
The introduction of read32le everywhere created a subtle issue, going from x = *(int*)p; to x = read32le(p); is not equivalent if x is a larger than 32bit quantity, like an address on x86_64, because read32le returns an unsigned int. The first sign extends, the latter zero extends. This broke shared library creation for gawk. It's enough to amend the case of the above situation, cases like "write32le(p, read32le(p) +- something)" are okay, no extensions happen or matter.
Diffstat (limited to 'tccpp.c')
0 files changed, 0 insertions, 0 deletions