mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-24 00:07:49 +08:00
5f93f7162f
PUBLISHED_FROM=7f805d89dcb795c9b3ee637ef1dbdcfcf3323469
30 lines
824 B
C
30 lines
824 B
C
/*
|
|
* Copyright (c) 2014-2016 Cesanta Software Limited
|
|
* All rights reserved
|
|
*/
|
|
|
|
#include <stdlib.h>
|
|
|
|
/*
|
|
* STM's startup script requires __libc_init_array for successfull
|
|
* initialization.
|
|
* Oficially supported IDE (Keil, IAR...) provide this function.
|
|
* We use our own
|
|
*/
|
|
|
|
extern void (*__preinit_array_start[])(void) __attribute__((weak));
|
|
extern void (*__preinit_array_end[])(void) __attribute__((weak));
|
|
extern void (*__init_array_start[])(void) __attribute__((weak));
|
|
extern void (*__init_array_end[])(void) __attribute__((weak));
|
|
|
|
void __libc_init_array(void) {
|
|
size_t count;
|
|
size_t i;
|
|
|
|
count = __preinit_array_end - __preinit_array_start;
|
|
for (i = 0; i < count; i++) __preinit_array_start[i]();
|
|
|
|
count = __init_array_end - __init_array_start;
|
|
for (i = 0; i < count; i++) __init_array_start[i]();
|
|
}
|