Rollup merge of #149056 - fneddy:fix_s390_test_padding_overwrite, r=RalfJung

fix the fragment_in_dst_padding_gets_overwritten test on s390x

on s390x 128bit types have a smaller alignment then on x86[^1]. This leads to smaller structs (24 instead of 32 bytes) and therefore the write_unaligned will write outside of the structs boundary.

To fix the test, change the trailing u32 into a u8. This will generate 7 trailing padding bytes on s390x and 15 on x86_64. Also change the start of the garbage data so it will span over x,y and padding:

```
s390x:   XXXXXXXXXXXXXXXXY-------
x86_64:  XXXXXXXXXXXXXXXXY---------------
                      GGGGGGGG

```

[^1]: s390x ELF ABI Table 1.1, Page 12 https://github.com/IBM/s390x-abi
This commit is contained in:
Matthias Krüger 2025-11-20 11:15:54 +01:00 committed by GitHub
commit 5172159dfd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -68,6 +68,7 @@ const _PARTIAL_OVERWRITE: () = {
};
#[allow(dead_code)]
#[cfg(not(target_arch = "s390x"))] // u128 is less aligned on s390x, removing the padding
fn fragment_in_dst_padding_gets_overwritten() {
#[repr(C)]
struct Pair {