CXX: make __attribute__((init_priority(n))) work

* Added corresponding test case
* Moved all C++ init tests to separate file

Closes https://github.com/espressif/esp-idf/issues/5038
This commit is contained in:
Jakob Hasse
2020-04-07 12:55:17 +08:00
parent 06fea3a2f7
commit 54bc506d26
3 changed files with 195 additions and 153 deletions

View File

@@ -278,7 +278,7 @@ SECTIONS
Make a point of not including anything from crtbegin.o or crtend.o, as IDF doesn't use toolchain crt
*/
__init_array_start = ABSOLUTE(.);
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors .ctors.*))
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors SORT(.ctors.*)))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))