forked from espressif/esp-idf
Merge branch 'bugfix/fix_disassembler_interpreting_padding_v4.2' into 'release/v4.2'
(Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file (backport v4.2) See merge request espressif/esp-idf!19613
This commit is contained in:
@@ -176,4 +176,23 @@ SECTIONS
|
|||||||
_etext = .;
|
_etext = .;
|
||||||
} > iram_seg
|
} > iram_seg
|
||||||
|
|
||||||
|
/** This section will be used by the debugger and disassembler to get more information
|
||||||
|
* about raw data present in the code.
|
||||||
|
* Indeed, it may be required to add some padding at some points in the code
|
||||||
|
* in order to align a branch/jump destination on a particular bound.
|
||||||
|
* Padding these instructions will generate null bytes that shall be
|
||||||
|
* interpreted as data, and not code by the debugger or disassembler.
|
||||||
|
* This section will only be present in the ELF file, not in the final binary
|
||||||
|
* For more details, check GCC-212
|
||||||
|
*/
|
||||||
|
.xt.prop 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
|
||||||
|
}
|
||||||
|
|
||||||
|
.xt.lit 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.lit .gnu.linkonce.p.*))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -162,4 +162,23 @@ SECTIONS
|
|||||||
_etext = .;
|
_etext = .;
|
||||||
} > iram_seg
|
} > iram_seg
|
||||||
|
|
||||||
|
/** This section will be used by the debugger and disassembler to get more information
|
||||||
|
* about raw data present in the code.
|
||||||
|
* Indeed, it may be required to add some padding at some points in the code
|
||||||
|
* in order to align a branch/jump destination on a particular bound.
|
||||||
|
* Padding these instructions will generate null bytes that shall be
|
||||||
|
* interpreted as data, and not code by the debugger or disassembler.
|
||||||
|
* This section will only be present in the ELF file, not in the final binary
|
||||||
|
* For more details, check GCC-212
|
||||||
|
*/
|
||||||
|
.xt.prop 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
|
||||||
|
}
|
||||||
|
|
||||||
|
.xt.lit 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.lit .gnu.linkonce.p.*))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -388,6 +388,25 @@ SECTIONS
|
|||||||
. = ALIGN (8);
|
. = ALIGN (8);
|
||||||
_heap_start = ABSOLUTE(.);
|
_heap_start = ABSOLUTE(.);
|
||||||
} > dram0_0_seg
|
} > dram0_0_seg
|
||||||
|
|
||||||
|
/** This section will be used by the debugger and disassembler to get more information
|
||||||
|
* about raw data present in the code.
|
||||||
|
* Indeed, it may be required to add some padding at some points in the code
|
||||||
|
* in order to align a branch/jump destination on a particular bound.
|
||||||
|
* Padding these instructions will generate null bytes that shall be
|
||||||
|
* interpreted as data, and not code by the debugger or disassembler.
|
||||||
|
* This section will only be present in the ELF file, not in the final binary
|
||||||
|
* For more details, check GCC-212
|
||||||
|
*/
|
||||||
|
.xt.prop 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
|
||||||
|
}
|
||||||
|
|
||||||
|
.xt.lit 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.lit .gnu.linkonce.p.*))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ASSERT(((_iram_end - ORIGIN(iram0_0_seg)) <= LENGTH(iram0_0_seg)),
|
ASSERT(((_iram_end - ORIGIN(iram0_0_seg)) <= LENGTH(iram0_0_seg)),
|
||||||
|
@@ -353,6 +353,25 @@ SECTIONS
|
|||||||
. = ALIGN (8);
|
. = ALIGN (8);
|
||||||
_heap_start = ABSOLUTE(.);
|
_heap_start = ABSOLUTE(.);
|
||||||
} > dram0_0_seg
|
} > dram0_0_seg
|
||||||
|
|
||||||
|
/** This section will be used by the debugger and disassembler to get more information
|
||||||
|
* about raw data present in the code.
|
||||||
|
* Indeed, it may be required to add some padding at some points in the code
|
||||||
|
* in order to align a branch/jump destination on a particular bound.
|
||||||
|
* Padding these instructions will generate null bytes that shall be
|
||||||
|
* interpreted as data, and not code by the debugger or disassembler.
|
||||||
|
* This section will only be present in the ELF file, not in the final binary
|
||||||
|
* For more details, check GCC-212
|
||||||
|
*/
|
||||||
|
.xt.prop 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
|
||||||
|
}
|
||||||
|
|
||||||
|
.xt.lit 0 :
|
||||||
|
{
|
||||||
|
KEEP (*(.xt.lit .gnu.linkonce.p.*))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ASSERT(((_iram_text_end - ORIGIN(iram0_0_seg)) <= LENGTH(iram0_0_seg)),
|
ASSERT(((_iram_text_end - ORIGIN(iram0_0_seg)) <= LENGTH(iram0_0_seg)),
|
||||||
|
Reference in New Issue
Block a user