@@ -29,17 +29,17 @@ extern int main(void);
29
29
30
30
// ----------------------------------------------------------------------------
31
31
// Linker section start and end pointers
32
- extern const uint32_t __table_copy_intern_start[];
33
- extern const uint32_t __table_copy_intern_end[];
32
+ extern const uint64_t __table_copy_intern_start[];
33
+ extern const uint64_t __table_copy_intern_end[];
34
34
35
- extern const uint32_t __table_zero_intern_start[];
36
- extern const uint32_t __table_zero_intern_end[];
35
+ extern const uint64_t __table_zero_intern_start[];
36
+ extern const uint64_t __table_zero_intern_end[];
37
37
38
- extern const uint32_t __table_copy_extern_start[];
39
- extern const uint32_t __table_copy_extern_end[];
38
+ extern const uint64_t __table_copy_extern_start[];
39
+ extern const uint64_t __table_copy_extern_end[];
40
40
41
- extern const uint32_t __table_zero_extern_start[];
42
- extern const uint32_t __table_zero_extern_end[];
41
+ extern const uint64_t __table_zero_extern_start[];
42
+ extern const uint64_t __table_zero_extern_end[];
43
43
44
44
extern const uint32_t __vector_table_{{ vector_table_location }}_start[];
45
45
@@ -64,13 +64,13 @@ table_call(const FunctionPointer *const start, const FunctionPointer *const end)
64
64
65
65
// Copies the section defined by a table of {loadaddr, dest start, dest end}
66
66
static inline void
67
- table_copy(const uint32_t *const start, const uint32_t *const end)
67
+ table_copy(const uint64_t *const start, const uint64_t *const end)
68
68
{
69
- uint32_t **table = (uint32_t **)start;
70
- while(table < (uint32_t **)end)
69
+ uint64_t **table = (uint64_t **)start;
70
+ while(table < (uint64_t **)end)
71
71
{
72
- const uint32_t *src = table[0]; // load address
73
- uint32_t *dest = table[1]; // destination start
72
+ const uint64_t *src = table[0]; // load address
73
+ uint64_t *dest = table[1]; // destination start
74
74
while (dest < table[2]) // destination end
75
75
*(dest++) = *(src++);
76
76
table += 3;
@@ -79,12 +79,12 @@ table_copy(const uint32_t *const start, const uint32_t *const end)
79
79
80
80
// Zeros the section defined by a table of {start, end}
81
81
static inline void
82
- table_zero(const uint32_t *const start, const uint32_t *const end)
82
+ table_zero(const uint64_t *const start, const uint64_t *const end)
83
83
{
84
- uint32_t **table = (uint32_t **)start;
85
- while(table < (uint32_t **)end)
84
+ uint64_t **table = (uint64_t **)start;
85
+ while(table < (uint64_t **)end)
86
86
{
87
- uint32_t *dest = table[0]; // destination start
87
+ uint64_t *dest = table[0]; // destination start
88
88
while (dest < table[1]) // destination end
89
89
*(dest++) = 0;
90
90
table += 2;
0 commit comments