Open-Source Projects: Issueshttps://forge.ispras.ru/https://forge.ispras.ru/favicon.ico?16490126692020-02-06T10:22:06ZOpen-Source Projects
Redmine MicroTESK - Bug #10102 (Closed): incorrect ld scripts for x86 test programshttps://forge.ispras.ru/issues/101022020-02-06T10:22:06ZSergey Smolovsmolov@ispras.ru
<p>For x86 test programs emulation on QEMU4V, the following approach can be used. Test program should be compiled as <em>bootable drive</em> and run on QEMU4V ("-hda" option). The following linker script should be generated:<br /><pre>
SECTIONS
{
/* The BIOS loads the code from the disk to this location.
* We must tell that to the linker so that it can properly
* calculate the addresses of symbols we might jump to.
*/
. = 0x7c00;
.text :
{
__start = .;
*(.text)
/* Place the magic boot bytes at the end of the first 512 sector of the disk. */
. = 0x1FE;
SHORT(0xAA55)
}
}
</pre></p>
<p>Now ld scripts look as follows:<br /><pre>
ENTRY(_start)
SECTIONS
{
. = 0x7C00;
.text : { *(".text")}
. = 0x8000;
.data : { *(".data")}
.bss : { *(".bss COMMON")}
. = ALIGN(8);
. = . + 0x10000;
stack_top = .;
}
</pre></p> MicroTESK - Bug #10094 (Closed): strange common code at LinkerScript.stghttps://forge.ispras.ru/issues/100942020-02-04T14:06:08ZSergey Smolovsmolov@ispras.ru
<p>The StringTemplate description for ld scripts looks as follows (<a class="external" href="https://forge.ispras.ru/projects/microtesk/repository/microtesk/revisions/master/entry/src/main/resources/core/stg/LinkerScript.stg">https://forge.ispras.ru/projects/microtesk/repository/microtesk/revisions/master/entry/src/main/resources/core/stg/LinkerScript.stg</a>):<br /><pre>
linker_script(
time,
section_ids,
section_vas,
section_flags
) ::= <<
<linker_script_header(time)>
ENTRY(_start)
SECTIONS
{
<section_ids, section_vas, section_flags : {id, va, fl | <section(id, va, fl)>}; separator="\n">
. = ALIGN(8);
. = . + 0x10000;
stack_top = .;
}
>>
section(id, va, common) ::= <<
<if(va)>. = <va>;<\n><endif><id> : { *("<id><if(common)> COMMON<endif>")}
>>
</pre></p>
<p>The following part is common for all linker scripts that are generated by the MicroTESK:<br /><pre>
. = ALIGN(8);
. = . + 0x10000;
stack_top = .;
</pre></p>
<p>It seems suspicious that this code is repeated for all ISAs.</p> MicroTESK - Bug #9437 (Closed): ru.ispras.microtesk.model.minimips.BufferPreparatorTestCase: QEMU...https://forge.ispras.ru/issues/94372019-01-18T13:41:47ZSergey Smolovsmolov@ispras.ru
<p>When running the ru.ispras.microtesk.model.minimips.BufferPreparatorTestCase test case at Jenkins server, the following error takes place:<br /><pre>
java.lang.AssertionError: Process has returned '139': "/srv/jenkins/workspace/MicroTESK/build/tools/qemu/bin/qemu-system-mips -M mips -cpu mips32r6-generic -d unimp,nochain,in_asm -nographic -singlestep -D /srv/jenkins/workspace/MicroTESK/build/test/minimips/buffer_preparator/buffer_preparator_0000-qemu.log -bios /srv/jenkins/workspace/MicroTESK/build/test/minimips/buffer_preparator/buffer_preparator_0000.elf"
No error log is found, try to run command in terminal.
at org.junit.Assert.fail(Assert.java:88)
at ru.ispras.microtesk.model.minimips.MiniMipsTest.runCommand(MiniMipsTest.java:556)
at ru.ispras.microtesk.model.minimips.MiniMipsTest.runCommand(MiniMipsTest.java:477)
at ru.ispras.microtesk.model.minimips.MiniMipsTest.emulate(MiniMipsTest.java:311)
at ru.ispras.microtesk.model.minimips.MiniMipsTest.compileAndEmulate(MiniMipsTest.java:273)
</pre></p>
<p>At Jenkins this event causes the general protection error as it is described in /var/log/messages (/var/log/kern.log):<br /><pre>
kernel: [19535.492676] traps: qemu-system-mip[1930] general protection ip:56360bb9966c sp:7f50ad4776b8 error:0 in qemu-system-mips[56360b8eb000+8ff000]
</pre></p>
<p>To preproduce the error,uncomment ru.ispras.microtesk.model.minimips.BufferPreparatorTestCase class' code.</p> MicroTESK - Bug #9436 (Closed): ru.ispras.microtesk.mmu.translator.GeneralTestCase: java.lang.Ill...https://forge.ispras.ru/issues/94362019-01-17T14:45:54ZSergey Smolovsmolov@ispras.ru
<pre>
:test
Translating: ./src/test/mmu/general.mmu
Model name: general
Included: ./src/test/mmu/general.mmu
Included: address.mmu
java.lang.IllegalArgumentException
at ru.ispras.fortress.util.InvariantChecks.checkTrue(InvariantChecks.java:53)
at ru.ispras.fortress.util.InvariantChecks.checkTrue(InvariantChecks.java:38)
at ru.ispras.fortress.util.InvariantChecks.checkNotNull(InvariantChecks.java:95)
at ru.ispras.microtesk.mmu.translator.MmuTreeWalkerBase.assignContext(MmuTreeWalkerBase.java:199)
at ru.ispras.microtesk.mmu.translator.MmuTranslator.start(MmuTranslator.java:121)
at ru.ispras.microtesk.translator.Translator.translate(Translator.java:201)
at ru.ispras.microtesk.translator.TranslatorTest.translate(TranslatorTest.java:79)
at ru.ispras.microtesk.mmu.translator.GeneralTestCase.test(GeneralTestCase.java:26)
</pre>
<p>The exception is thrown, but the test passes</p> MicroTESK - Bug #9063 (Closed): microtesk/src/main/java/core/ru/ispras/microtesk/utils/PropertyMa...https://forge.ispras.ru/issues/90632018-07-05T07:28:46ZSergey Smolovsmolov@ispras.ru
<p>The following warning appears at the compilation process:<br /><pre><code class="text syntaxhl" data-language="text">Note: /home/ssedai/projects/microtesk/src/main/java/core/ru/ispras/microtesk/utils/PropertyMap.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
</code></pre></p> MicroTESK - Bug #7730 (Closed): [tarmac-logger] missing "<cpu>" taghttps://forge.ispras.ru/issues/77302016-11-17T10:04:56ZSergey Smolovsmolov@ispras.ru
<p>As it is described in "Tarmac Trace for Fast Models" version 9.2, instruction trace should have the following format:</p>
<pre>
<time> <scale> <cpu> [IT|IS] (<inst_id>) <addr> <opcode> [A|T|X] <mode>_<security> : <disasm>
</pre>
<p>But MicroTESK skips "<cpu>" field.</p>
<p>Here is a description for this field from 9.2:</p>
<pre>
<cpu>
Processor that gave the instruction.
</pre> MicroTESK - Task #7564 (Closed): "How to build MicroTESK" guide for developers in project Wikihttps://forge.ispras.ru/issues/75642016-09-09T14:55:39ZSergey Smolovsmolov@ispras.ruMicroTESK - Bug #6241 (Closed): Generated assembler files contain tab-only lineshttps://forge.ispras.ru/issues/62412015-08-26T14:47:00ZSergey Smolovsmolov@ispras.ru
<p>It should be checked that every line in the generated file (e.g. assembler file) do not contain spaces or tabs only.</p> MicroTESK - Task #6108 (Closed): create environment variable(s) for SMT solver(s)https://forge.ispras.ru/issues/61082015-06-23T14:06:27ZSergey Smolovsmolov@ispras.ruMicroTESK - Bug #6106 (Closed): zero opcodes for instructions in Tarmac loghttps://forge.ispras.ru/issues/61062015-06-23T09:23:34ZSergey Smolovsmolov@ispras.ru
<p>Most of instructions that are represented in Tarmac log have zero opcodes. Today only two instructions definitely have non-zero opcodes - that are <code>hlt</code> and <code>add</code>.<br />Here is a sample of Tarmac log that demonstrates this bug:<br /><pre>
882 clk IT (882) 00002648 00000000 A svc_ns : movz x0, #0x0, LSL #48
883 clk IT (883) 00002654 00000000 A svc_ns : movk x0, #0x0, LSL #32
884 clk IT (884) 00002660 00000000 A svc_ns : movk x0, #0x0, LSL #16
885 clk IT (885) 0000266c 00000000 A svc_ns : movk x0, #0x1, LSL #0
886 clk IT (886) 00002678 00000000 A svc_ns : movz x1, #0x0, LSL #48
887 clk IT (887) 00002684 00000000 A svc_ns : movk x1, #0x0, LSL #32
888 clk IT (888) 00002690 00000000 A svc_ns : movk x1, #0x0, LSL #16
889 clk IT (889) 0000269c 00000000 A svc_ns : movk x1, #0x1, LSL #0
890 clk IT (890) 000026a8 91000420 A svc_ns : add x0, x1, #1, LSL #0
891 clk IT (891) 000026ac 00000000 A svc_ns : movz x0, #0x0, LSL #48
892 clk IT (892) 000026b8 00000000 A svc_ns : movk x0, #0x0, LSL #32
893 clk IT (893) 000026c4 00000000 A svc_ns : movk x0, #0x0, LSL #16
894 clk IT (894) 000026d0 00000000 A svc_ns : movk x0, #0x1, LSL #0
895 clk IT (895) 000026dc 00000000 A svc_ns : movz x1, #0x0, LSL #48
896 clk IT (896) 000026e8 00000000 A svc_ns : movk x1, #0x0, LSL #32
897 clk IT (897) 000026f4 00000000 A svc_ns : movk x1, #0x0, LSL #16
898 clk IT (898) 00002700 00000000 A svc_ns : movk x1, #0x1, LSL #0
899 clk IT (899) 0000270c 91000420 A svc_ns : add x0, x1, #1, LSL #0
900 clk IT (900) 00002710 d45bd5a0 A svc_ns : hlt #57005
</pre></p> MicroTESK - Task #5967 (Closed): one directory for all components of distributionhttps://forge.ispras.ru/issues/59672015-05-20T14:01:43ZSergey Smolovsmolov@ispras.ru
<p>It would be suitable to have all the distribution components (binaries, sources archive, javadoc, etc.) in the same directory (as it is in Fortress project. for example) ant pack this directory to the distribution archive.</p> MicroTESK - Bug #5966 (Closed): mark shell scripts as executable in the distribution tar.gz archivehttps://forge.ispras.ru/issues/59662015-05-20T13:57:22ZSergey Smolovsmolov@ispras.ru
<p>When unpacked the <code>tar.gz</code> tool distribution contains shell scripts like <code>compile.sh</code> and <code>generate.sh</code> that are not marked as executable.</p> C++TESK Testing ToolKit - Bug #4005 (Rejected): удалить пустой READMEhttps://forge.ispras.ru/issues/40052013-03-15T14:17:10ZSergey Smolovsmolov@ispras.ru
<p>Что делает пустой файл README в trunk основного проекта?</p> C++TESK Testing ToolKit - Bug #4004 (Closed): Из build'а пропал скрипт install-eclipse-plugin.shhttps://forge.ispras.ru/issues/40042013-03-14T17:36:57ZSergey Smolovsmolov@ispras.ru
<p>Т.е. в trunk проекта он есть, а в сборке не присутствует. <br />Без данного скрипта пропадает возможность установить C++TesK Eclipse plug-in из командной строки.</p>
<p>Просьба починить.</p> C++TESK Testing ToolKit - Bug #3590 (Closed): C++TesK installation fails on OpenSUSE 12.2 x64https://forge.ispras.ru/issues/35902012-10-15T11:18:40ZSergey Smolovsmolov@ispras.ru
<p>Попробовал установить subj на OpenSUSE 12.2 x64. Системные требования были удовлетворены (в соответствии с C++TESK.InstallationGuide.ru.pdf), скрипт установки запускался с опцией --force-install-veritool (Veritool и Icarus Verilog предварительно установлены не были, подключение к сети, естественно, есть).</p>
<p>По-видимому, Icarus Verilog установился корректно, а Veritool - нет.</p>
<p>Лог установочного скрипта в аттаче.</p>