Skip to content

Commit 1dd50fb

Browse files
unaiurigrr
authored andcommitted
Execute global constructors in correct order (#2074)
Walk .ctors array from back to front, like gcc's gbl-ctors.h does
1 parent 8176cbb commit 1dd50fb

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

cores/esp8266/core_esp8266_main.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ static void loop_task(os_event_t *events) {
119119
}
120120

121121
static void do_global_ctors(void) {
122-
void (**p)(void);
123-
for(p = &__init_array_start; p != &__init_array_end; ++p)
124-
(*p)();
122+
void (**p)(void) = &__init_array_end;
123+
while (p != &__init_array_start)
124+
(*--p)();
125125
}
126126

127127
extern "C" void __gdb_init() {}

0 commit comments

Comments
 (0)