# HG changeset patch # User Paul Boddie # Date 1540676307 -7200 # Node ID 37efd786c13361e8ad4485c6eedc5d1d38d14702 # Parent 7ad31261c9e8f754fb1e6b1904312e2ce8719b9a Use array types to reference program regions more naturally. diff -r 7ad31261c9e8 -r 37efd786c133 lib/payload.c --- a/lib/payload.c Sat Oct 27 21:51:40 2018 +0200 +++ b/lib/payload.c Sat Oct 27 23:38:27 2018 +0200 @@ -21,7 +21,7 @@ -extern uint8_t _data_original, _data, _bss; +extern uint8_t _data_original[], _data[], _bss[]; /* These are defined using SIZEOF and their table entries contain actual values. The "address" provided by each entry is therefore the value! */ @@ -32,7 +32,7 @@ void relocate_data(void) { - uint8_t *original = &_data_original, *current = &_data, + uint8_t *original = _data_original, *current = _data, *limit = original + (uint32_t) &_data_size; /* Copy data from program memory to the relocated data area in RAM. */ @@ -45,7 +45,7 @@ void init_bss(void) { - uint8_t *current = &_bss, *limit = current + (uint32_t) &_bss_size; + uint8_t *current = _bss, *limit = current + (uint32_t) &_bss_size; while (current < limit) *current++ = 0;