Merge pull request #1412 from rtoslab/master

[bsp][imxrt1052]update ctors/dtors sections to fix link error with RT_USING_CPLUSPLUS
This commit is contained in:
Bernard Xiong
2018-05-08 09:48:28 +08:00
committed by GitHub
4 changed files with 32 additions and 16 deletions

View File

@@ -139,7 +139,8 @@ SECTIONS
.ctors :
{
__CTOR_LIST__ = .;
PROVIDE(__ctors_start__ = .);
/* __CTOR_LIST__ = .; */
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
@@ -158,18 +159,21 @@ SECTIONS
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__CTOR_END__ = .;
/* __CTOR_END__ = .; */
PROVIDE(__ctors_end__ = .);
} > m_text
.dtors :
{
__DTOR_LIST__ = .;
PROVIDE(__dtors_start__ = .);
/* __DTOR_LIST__ = .; */
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__DTOR_END__ = .;
/* __DTOR_END__ = .; */
PROVIDE(__dtors_end__ = .);
} > m_text
.preinit_array :

View File

@@ -126,7 +126,8 @@ SECTIONS
.ctors :
{
__CTOR_LIST__ = .;
PROVIDE(__ctors_start__ = .);
/* __CTOR_LIST__ = .; */
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
@@ -145,18 +146,21 @@ SECTIONS
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__CTOR_END__ = .;
/* __CTOR_END__ = .; */
PROVIDE(__ctors_end__ = .);
} > m_text
.dtors :
{
__DTOR_LIST__ = .;
PROVIDE(__dtors_start__ = .);
/* __DTOR_LIST__ = .; */
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__DTOR_END__ = .;
/* __DTOR_END__ = .; */
PROVIDE(__dtors_end__ = .);
} > m_text
.preinit_array :

View File

@@ -104,7 +104,8 @@ SECTIONS
.ctors :
{
__CTOR_LIST__ = .;
PROVIDE(__ctors_start__ = .);
/* __CTOR_LIST__ = .; */
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
@@ -123,18 +124,21 @@ SECTIONS
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__CTOR_END__ = .;
/* __CTOR_END__ = .; */
PROVIDE(__ctors_end__ = .);
} > m_text
.dtors :
{
__DTOR_LIST__ = .;
PROVIDE(__dtors_start__ = .);
/* __DTOR_LIST__ = .; */
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__DTOR_END__ = .;
/* __DTOR_END__ = .; */
PROVIDE(__dtors_end__ = .);
} > m_text
.preinit_array :

View File

@@ -104,7 +104,8 @@ SECTIONS
.ctors :
{
__CTOR_LIST__ = .;
PROVIDE(__ctors_start__ = .);
/* __CTOR_LIST__ = .; */
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
@@ -123,18 +124,21 @@ SECTIONS
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__CTOR_END__ = .;
/* __CTOR_END__ = .; */
PROVIDE(__ctors_end__ = .);
} > m_text
.dtors :
{
__DTOR_LIST__ = .;
PROVIDE(__dtors_start__ = .);
/* __DTOR_LIST__ = .; */
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__DTOR_END__ = .;
/* __DTOR_END__ = .; */
PROVIDE(__dtors_end__ = .);
} > m_text
.preinit_array :