mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
Merge branch 'bugfix/fix_disassembler_interpreting_padding_v4.4' into 'release/v4.4'
(Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file (backport v4.4) See merge request espressif/esp-idf!19609
This commit is contained in:
@ -182,4 +182,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.*))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -170,4 +170,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.*))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -205,6 +205,25 @@ 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.*))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -394,6 +394,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)),
|
||||||
|
@ -394,6 +394,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)),
|
||||||
|
@ -418,6 +418,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)),
|
||||||
|
Reference in New Issue
Block a user