linking with .stab/.stabstr seems to work

This commit is contained in:
bebbo 2017-12-14 16:10:00 +01:00
parent 36fefa9200
commit d2608e1f74
13 changed files with 363 additions and 18 deletions

208
.cproject Executable file
View File

@ -0,0 +1,208 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.debug.452878522">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.debug.452878522" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.Cygwin_PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.debug.452878522" name="Debug" parent="cdt.managedbuild.config.gnu.cross.exe.debug">
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.452878522." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.cygwin.base.2053847551" name="Cygwin GCC" superClass="cdt.managedbuild.toolchain.gnu.cygwin.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.Cygwin_PE" id="cdt.managedbuild.target.gnu.platform.cygwin.base.2091243283" name="Debug Platform" osList="win32" superClass="cdt.managedbuild.target.gnu.platform.cygwin.base"/>
<builder buildPath="${workspace_loc:/debugwin}/Debug" id="cdt.managedbuild.target.gnu.builder.cygwin.base.1660320342" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.cygwin.base">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name=""/>
</outputEntries>
</builder>
<tool id="cdt.managedbuild.tool.gnu.assembler.cygwin.base.607722454" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.cygwin.base">
<option id="gnu.both.asm.option.include.paths.2094451885" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;C:\cygwin\usr\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/bfd}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1425989952" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.archiver.cygwin.base.2119049474" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.cygwin.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.base.1103847968" name="Cygwin C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin.base">
<option id="gnu.cpp.compiler.option.include.paths.466783605" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;C:\cygwin\usr\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/binutils-2.14/libcpp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;D:\develop\workspaces\c1\amigaos-cross-toolchain\.build-m68k\build\binutils-2.14\gcc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/bfd}&quot;"/>
</option>
<option id="gnu.cpp.compiler.option.optimization.level.193715843" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.debugging.level.2136883244" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.preprocessor.def.807277038" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="IN_GCC=1"/>
<listOptionValue builtIn="false" value="HAVE_cc0=1"/>
<listOptionValue builtIn="false" value="__ECLIPSE__=1"/>
<listOptionValue builtIn="false" value="TARGET_AMIGA=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.cygwin.780175803" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input.cygwin"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.cygwin.base.1920331604" name="Cygwin C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.cygwin.base">
<option id="gnu.c.compiler.option.include.paths.692774379" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;C:\cygwin\usr\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/binutils-2.14/libcpp/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;D:\develop\workspaces\c1\amigaos-cross-toolchain\.build-m68k\build\binutils-2.14\gcc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/bfd}&quot;"/>
</option>
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.227992926" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
<option id="gnu.c.compiler.option.debugging.level.748883400" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.1982594045" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="IN_GCC=1"/>
<listOptionValue builtIn="false" value="HAVE_cc0=1"/>
<listOptionValue builtIn="false" value="__ECLIPSE__=1"/>
<listOptionValue builtIn="false" value="TARGET_AMIGA=1"/>
<listOptionValue builtIn="false" value="BFD_ASSEMBLER=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.cygwin.2078467313" superClass="cdt.managedbuild.tool.gnu.c.compiler.input.cygwin"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.cygwin.base.344641511" name="Cygwin C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.cygwin.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.base.968200320" name="Cygwin C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.base">
<option id="gnu.cpp.link.option.libs.260033787" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs"/>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1537937183" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="bfd"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="gas"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.release.811454954">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.release.811454954" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.811454954" name="Release" parent="cdt.managedbuild.config.gnu.cross.exe.release">
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.811454954." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.101222491" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1798723854" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
<builder buildPath="${workspace_loc:/debugwin}/Release" id="cdt.managedbuild.builder.gnu.cross.507087034" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1834281466" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1686563067" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
<option id="gnu.c.compiler.option.debugging.level.60172226" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.696908692" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;C:\cygwin\usr\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/bfd}&quot;"/>
</option>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.652362073" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="IN_GCC=1"/>
<listOptionValue builtIn="false" value="HAVE_cc0=1"/>
<listOptionValue builtIn="false" value="__ECLIPSE__=1"/>
<listOptionValue builtIn="false" value="TARGET_AMIGA=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1150724656" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1042604749" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
<option id="gnu.cpp.compiler.option.optimization.level.2088586809" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.debugging.level.1993778911" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.include.paths.1936413739" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;C:\cygwin\usr\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/bfd}&quot;"/>
</option>
<option id="gnu.cpp.compiler.option.preprocessor.def.625117841" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="IN_GCC=1"/>
<listOptionValue builtIn="false" value="HAVE_cc0=1"/>
<listOptionValue builtIn="false" value="__ECLIPSE__=1"/>
<listOptionValue builtIn="false" value="TARGET_AMIGA=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1133865092" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.946489608" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.738916918" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1880308865" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1813524686" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1395544547" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
<option id="gnu.both.asm.option.include.paths.1443815690" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;C:\cygwin\usr\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/gas/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14/bfd}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1421786104" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="debugwin.cdt.managedbuild.target.gnu.cross.exe.1884740625" name="Executable" projectType="cdt.managedbuild.target.gnu.cross.exe"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/binutils-2.14"/>
</configuration>
<configuration configurationName="Release">
<resource resourceType="PROJECT" workspacePath="/binutils-2.14"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<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">
<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">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
</cproject>

View File

@ -5,7 +5,30 @@
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>binutils-2.14</name>
<type>2</type>
<location>D:/develop/workspaces/c1/amigaos-cross-toolchain/.build-m68k/build/binutils-2.14</location>
</link>
</linkedResources>
</projectDescription>

25
.settings/language.settings.xml Executable file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.452878522" name="Debug">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorCygwin" console="false" env-hash="-334982696500067361" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorCygwin" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cygwin" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
<configuration id="cdt.managedbuild.config.gnu.cross.exe.release.811454954" name="Release">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1345879325823810943" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
</project>

View File

@ -231,7 +231,7 @@ static bfd *amiga_openr_next_archived_file PARAMS ((bfd *, bfd *));
static PTR amiga_read_ar_hdr PARAMS ((bfd *));
static int amiga_generic_stat_arch_elt PARAMS ((bfd *, struct stat *));
/*#define DEBUG_AMIGA 1*/
//#define DEBUG_AMIGA 1
#if DEBUG_AMIGA
#include <stdarg.h>
static void
@ -815,6 +815,7 @@ amiga_read_unit (abfd, size)
return (bfd_seek (abfd, -4, SEEK_CUR) == 0);
case HUNK_DEBUG:
/* SBF: TODO */
/* we don't parse hunk_debug at the moment */
if (!get_long (abfd, &tmp) || bfd_seek (abfd, tmp<<2, SEEK_CUR))
return FALSE;
@ -1066,6 +1067,14 @@ amiga_handle_cdb_hunk (abfd, hunk_type, hunk_number, hunk_attribute,
the debug hunk is at the same level as code/data/bss.
This will change in the future */
case HUNK_DEBUG:
/* handle .stab and .stabs as real sections. */
if (current_name &&
(0 == strcmp(current_name, ".stab") || 0 == strcmp(current_name, ".stabstr")))
{
secflags = SEC_HAS_CONTENTS;
goto do_section;
}
/* format of gnu debug hunk is:
HUNK_DEBUG
N
@ -1441,7 +1450,11 @@ amiga_write_object_contents (abfd)
may get some contents later on */
if ((amiga_base_relative || p->_raw_size!=0 || p->_cooked_size!=0) &&
!(amiga_base_relative && !strcmp (p->name, ".bss")))
n[2]++;
{
/* don't count debug sections. */
if (strcmp(p->name, ".stab") && strcmp(p->name, ".stabstr"))
n[2]++;
}
else
remove_section_index (p, index_map);
}
@ -1475,6 +1488,10 @@ amiga_write_object_contents (abfd)
if (index_map[p->index] < 0)
continue;
/* don't add debug sections. */
if (!strcmp(p->name, ".stab") || !strcmp(p->name, ".stabstr"))
continue;
if (datadata_relocs && !strcmp(p->name,".text"))
extra = datadata_relocs * 4;
else if (bss_size && !strcmp (p->name, ".data"))
@ -1532,7 +1549,7 @@ amiga_write_object_contents (abfd)
}
for (p=abfd->sections; p!=NULL; p=p->next) {
if (p->_raw_size==0 && p->_cooked_size==0)
if (p->_raw_size==0 && p->_cooked_size==0 && strcmp(".text", p->name))
remove_section_index (p, index_map);
}
}
@ -3122,7 +3139,10 @@ amiga_archive_p (abfd)
amiga_ardata(abfd)->defsyms = symbols;
amiga_ardata(abfd)->defsym_count = symcount;
if (amiga_slurp_armap (abfd))
return abfd->xvec;
{
bfd_set_error(bfd_error_no_more_archived_files);
return abfd->xvec;
}
}
return NULL;

View File

@ -436,10 +436,17 @@ amiga_perform_reloc (abfd, r, data, sec, obfd, error_message)
}
else
{
if (amiga_base_relative)
amiga_update_target_section (target_section);
relocation=0;
copy=TRUE;
if (0 == strcmp(sec->name, ".stab") || 0 == strcmp(sec->name, ".stabstr"))
{
relocation=sym->value + target_section->output_offset;
}
else
{
if (amiga_base_relative)
amiga_update_target_section (target_section);
relocation=0;
copy=TRUE;
}
}
break;
@ -700,7 +707,7 @@ aout_perform_reloc (abfd, r, data, sec, obfd, error_message)
else /* Target section and sec need not be the same.. */
{
aout_update_target_section (target_section);
printf("val: %08x offset: %08x sz %08x ", sym->value, target_section->output_offset, target_section->output_section->_raw_size);
relocation = sym->value + target_section->output_offset
- (AMIGA_DATA(target_section->output_section->owner))->a4init;
/* if the symbol is in .bss, subtract the offset that gas has put
@ -713,6 +720,7 @@ aout_perform_reloc (abfd, r, data, sec, obfd, error_message)
target_section->owner->filename, target_section->output_offset,
r->address));
flags|=ADDEND_UNSIGNED;
printf("reloc %08x %5s %s\n", relocation + (AMIGA_DATA(target_section->output_section->owner))->a4init, target_section->name, sym->name);
}
DPRINT(10,("target->out=%s(%lx), sec->out=%s(%lx), symbol=%s\n",
target_section->output_section->name,

View File

@ -147,6 +147,9 @@ struct amiga_data {
file_ptr sym_filepos;
file_ptr str_filepos;
/* rest intentionally omitted */
carsym *symdefs; /* the symdef entries */
symindex symdef_count; /* how many there are */
};
typedef struct amiga_data_struct {

View File

@ -230,9 +230,9 @@ static void obj_amiga_section(int push) {
return;
if (0 == strcmp(".rodata", name))
s_text();
s_text(push);
else
s_data();
s_data(push);
}
static void
@ -275,3 +275,28 @@ obj_amiga_weak (ignore)
while (c == ',');
demand_empty_rest_of_line ();
}
///* The first entry in a .stab section is special. */
//
//void
//obj_amiga_init_stab_section (seg)
// segT seg;
//{
// char *file;
// char *p;
// char *stabstr_name;
// unsigned int stroff;
//
// /* Make space for this first symbol. */
// p = frag_more (12);
// /* Zero it out. */
// memset (p, 0, 12);
// as_where (&file, (unsigned int *) NULL);
// stabstr_name = (char *) alloca (strlen (segment_info[seg].name) + 4);
// strcpy (stabstr_name, segment_info[seg].name);
// strcat (stabstr_name, "str");
// stroff = get_stab_string_offset (file, stabstr_name);
// know (stroff == 1);
// md_number_to_chars (p, stroff, 4);
//}

View File

@ -45,6 +45,15 @@ extern void obj_amiga_frob_file_before_fix PARAMS ((void));
#define obj_sec_sym_ok_for_reloc(SEC) (1)
/* Put the Stabs into an own section. */
#define SEPARATE_STAB_SECTIONS 1
///* We need 12 bytes at the start of the section to hold some initial
// information. */
//extern void obj_amiga_init_stab_section PARAMS ((segT));
//#define INIT_STAB_SECTION(seg) obj_amiga_init_stab_section (seg)
#endif /* BFD_ASSEMBLER */
#define obj_read_begin_hook() {;}

View File

@ -7326,8 +7326,8 @@ md_pcrel_from (fixP)
adjust = ((fixP->fx_pcrel_adjust & 0xff) ^ 0x80) - 0x80;
if (adjust == 64)
adjust = -1;
if (OBJ_AMIGAHUNK)
return -adjust;
// if (OBJ_AMIGAHUNK)
// return -adjust;
return fixP->fx_where + fixP->fx_frag->fr_address - adjust;
}

6
gas/configure vendored
View File

@ -3942,8 +3942,10 @@ echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and a wo
m68hc11-*-* | m6811-*-*) fmt=elf ;;
m68hc12-*-* | m6812-*-*) fmt=elf ;;
m68*-*-amigaoshunk) fmt=amigahunk em=amiga bfd_gas=yes ;;
m68*-*-amigaos*) fmt=aout em=amiga ;;
m68*-*-amigaosaout) fmt=aout em=amiga ;;
# m68*-*-amigaos*) fmt=aout em=amiga ;;
m68*-*-amigaos*) fmt=amigahunk em=amiga bfd_gas=yes ;;
m68*-*-amigaoshunk) fmt=amigahunk em=amiga bfd_gas=yes ;;
m68k-*-vxworks*) fmt=aout em=sun3 ;;
m68k-ericsson-ose) fmt=aout em=sun3 ;;
m68k-*-sunos*) fmt=aout em=sun3 ;;

View File

@ -328,8 +328,10 @@ changequote([,])dnl
m68hc11-*-* | m6811-*-*) fmt=elf ;;
m68hc12-*-* | m6812-*-*) fmt=elf ;;
m68k-*-amigaoshunk) fmt=amigahunk em=amiga bfd_gas=yes ;;
m68k-*-amigaos*) fmt=aout em=amiga ;;
m68*-*-amigaosaout) fmt=aout em=amiga ;;
m68*-*-amigaos*) fmt=aout em=amiga ;;
# m68*-*-amigaos*) fmt=amigahunk em=amiga bfd_gas=yes ;;
m68*-*-amigaoshunk) fmt=amigahunk em=amiga bfd_gas=yes ;;
m68k-*-vxworks*) fmt=aout em=sun3 ;;
m68k-ericsson-ose) fmt=aout em=sun3 ;;
m68k-*-sunos*) fmt=aout em=sun3 ;;

View File

@ -3235,6 +3235,10 @@ pseudo_set (symbolP)
(void) expression (&exp);
#if defined(OBJ_AMIGAHUNK)
exp.X_op = O_constant;
#endif
if (exp.X_op == O_illegal)
as_bad (_("illegal expression"));
else if (exp.X_op == O_absent)

View File

@ -702,6 +702,12 @@ size_seg (abfd, sec, xxx)
if (size > 0 && ! seginfo->bss)
flags |= SEC_HAS_CONTENTS;
#ifdef OBJ_AMIGAHUNK
if (size == 0 && 0 == strcmp( sec->name, ".text"))
flags |= SEC_HAS_CONTENTS | SEC_CODE;
// fprintf(stderr, "%s: %d\n", sec->name, size);
#endif
/* @@ This is just an approximation. */
if (seginfo && seginfo->fix_root)
flags |= SEC_RELOC;
@ -1143,11 +1149,17 @@ write_contents (abfd, sec, xxx)
unsigned long offset = 0;
fragS *f;
/* Write out the frags. */
if (seginfo == NULL
|| !(bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS))
return;
#ifdef OBJ_AMIGAHUNK
// fprintf(stderr, "%s: %x %p\n", sec->name, (bfd_get_section_flags (abfd, sec)), seginfo->frchainP->frch_root);
#endif
for (f = seginfo->frchainP->frch_root;
f;
f = f->fr_next)
@ -1157,8 +1169,12 @@ write_contents (abfd, sec, xxx)
char *fill_literal;
long count;
// fprintf(stderr, "fragment %p: %d %d %d\n", f, f->fr_var, f->fr_offset, f->fr_fix);
assert (f->fr_type == rs_fill);
if (f->fr_fix)
if (f->fr_fix
|| f->fr_var
)
{
x = bfd_set_section_contents (stdoutput, sec,
f->fr_literal, (file_ptr) offset,