refs #196: force new section directives for all chip/fast/far data

sections
This commit is contained in:
bebbo 2023-04-06 16:48:53 +02:00
parent 1579ce054d
commit a099423f4a
2 changed files with 13 additions and 18 deletions

View File

@ -89,22 +89,10 @@
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.811454954;cdt.managedbuild.config.gnu.cross.exe.release.811454954.;cdt.managedbuild.tool.gnu.cross.c.compiler.1834281466;cdt.managedbuild.tool.gnu.c.compiler.input.1150724656">
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1647158709;cdt.managedbuild.toolchain.gnu.base.1647158709.1317695995;cdt.managedbuild.tool.gnu.cpp.compiler.base.2095993469;cdt.managedbuild.tool.gnu.cpp.compiler.input.1822502964">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.452878522;cdt.managedbuild.config.gnu.cross.exe.debug.452878522.;cdt.managedbuild.tool.gnu.cross.c.compiler.502147450;cdt.managedbuild.tool.gnu.c.compiler.input.1173428818">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.452878522;cdt.managedbuild.config.gnu.cross.exe.debug.452878522.;cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.base.1103847968;cdt.managedbuild.tool.gnu.cpp.compiler.input.cygwin.780175803">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.452878522;cdt.managedbuild.config.gnu.cross.exe.debug.452878522.;cdt.managedbuild.tool.gnu.c.compiler.cygwin.base.1920331604;cdt.managedbuild.tool.gnu.c.compiler.input.cygwin.2078467313">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.452878522;cdt.managedbuild.config.gnu.cross.exe.debug.452878522.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.216739552;cdt.managedbuild.tool.gnu.cpp.compiler.input.1269341019">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.811454954;cdt.managedbuild.config.gnu.cross.exe.release.811454954.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1042604749;cdt.managedbuild.tool.gnu.cpp.compiler.input.1133865092">
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1647158709;cdt.managedbuild.toolchain.gnu.base.1647158709.1317695995;cdt.managedbuild.tool.gnu.c.compiler.base.1015016542;cdt.managedbuild.tool.gnu.c.compiler.input.27356947">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>

View File

@ -302,11 +302,18 @@ amiga_named_section (const char *name, unsigned int flags ATTRIBUTE_UNUSED, tree
if (0 == strncmp (".text.startup", name, 13) || 0 == strncmp (".text.exit", name, 10))
name = ".text";
if (0 == strncmp(".data", name, 5) && (!DECL_INITIAL (decl) || initializer_zerop (DECL_INITIAL (decl))))
if (0 == strncmp(".data", name, 5))
{
extern section * in_section;
fprintf (asm_out_file, "\t.section .bss%s\n", name + 5);
in_section = NULL;
if (!DECL_INITIAL (decl) || initializer_zerop (DECL_INITIAL (decl)))
{
extern section * in_section;
fprintf (asm_out_file, "\t.section .bss%s\n", name + 5);
}
else
fprintf (asm_out_file, "\t.section %s\n", name);
if (strstr(name, "chip") || strstr(name, "fast") || strstr(name, "far"))
in_section = NULL;
}
// else if (0 == strncmp(".section ", name, 8) || 0 == strncmp(".text", name, 5) || 0 == strncmp(".data", name, 5) || 0 == strncmp(".bss", name, 4))
// fprintf (asm_out_file, "\t%s\n", name);