# HG changeset patch # User Paul Boddie # Date 1540579885 -7200 # Node ID fda3e3afe979e12503d84e7d88394e4f2a6dcd40 # Parent 88fbeb522bba0caaa6e75cc35359e7004b361176 Use a simpler byte-based copy for the data relocation. diff -r 88fbeb522bba -r fda3e3afe979 lib/payload.c --- a/lib/payload.c Fri Oct 26 19:10:51 2018 +0200 +++ b/lib/payload.c Fri Oct 26 20:51:25 2018 +0200 @@ -21,16 +21,12 @@ /* Relocate the .data section's contents to initialise mutable structures. */ -void relocate_data(uint32_t *original, uint32_t *current, uint32_t size) +void relocate_data(uint8_t *original, uint8_t *current, uint32_t size) { - /* Reference stored content as values. */ - - uint32_t *source, *target; + uint8_t *limit = original + size; /* Copy data from program memory to the relocated data area in RAM. */ - for (source = original, target = current; source < original + size; - source++, target++) - - *target = *source; + while (original < limit) + *current++ = *original++; }