<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/softwire/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/softwire/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 08 Mar 2005 07:22:44 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/softwire/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>Problem with encoding of instructions</title><link>https://sourceforge.net/p/softwire/bugs/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm not that good with x86 asm, but the following seens&lt;br /&gt;
to be a valid statement:&lt;/p&gt;
&lt;p&gt;mov edx, dword ptr[esi - 4] &lt;/p&gt;
&lt;p&gt;Using the intrinsics equivalent makes Softwire die a&lt;br /&gt;
horrible death by throwing INTERNAL_ERROR in&lt;br /&gt;
Synthesizer::encodeRegField (Synthesizer.cpp):&lt;/p&gt;
&lt;p&gt;mov(edx, dword_ptr[esi - 4]);&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 08 Mar 2005 07:22:44 -0000</pubDate><guid>https://sourceforge.net425d7fcda82c5e4fa9ddd0e3953aa2acba06b6ab</guid></item><item><title>Error with cygwin and gcc 3.4.1</title><link>https://sourceforge.net/p/softwire/bugs/5/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;On my system softwire crashed due to String.hpp:&lt;br /&gt;
#ifdef __GNUG__&lt;br /&gt;
inline int stricmp(const char *string1, const char&lt;br /&gt;
*string2)&lt;br /&gt;
{&lt;br /&gt;
return strcasecmp(string1, string2);&lt;br /&gt;
}&lt;br /&gt;
#endif&lt;/p&gt;
&lt;p&gt;This will segfault on cygwin, I fixed using the following: &lt;/p&gt;
&lt;p&gt;#ifdef __GNUG__&lt;br /&gt;
inline int stricmp(const char *string1, const char&lt;br /&gt;
*string2)&lt;br /&gt;
{&lt;br /&gt;
while(*string1 &amp;amp;&amp;amp; *string2) {&lt;br /&gt;
if(tolower(*string1) != tolower(*string2))&lt;br /&gt;
return tolower(*string1) &amp;lt; tolower(*string2) ? -1 : 1;&lt;br /&gt;
++string1;&lt;br /&gt;
++string2;&lt;br /&gt;
}&lt;br /&gt;
return 0;&lt;br /&gt;
}&lt;br /&gt;
#endif&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 08 Mar 2005 07:19:24 -0000</pubDate><guid>https://sourceforge.netcd912f3aa9697e5bec51494981ea07e8baf195a7</guid></item><item><title>compilation error with gcc</title><link>https://sourceforge.net/p/softwire/bugs/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;with the latest CVS version of Softwire GCC 3.3.3 on linux says: &lt;br /&gt;
"c++ -fexceptions -fno-operator-names -g -c Test.cpp &lt;br /&gt;
Test.cpp:459: error: ISO C++ forbids declaration of `x' with no &lt;br /&gt;
type" &lt;/p&gt;
&lt;p&gt;this can be fixed easily by changing "static x;" into "static int x;" &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jüri Valdmann</dc:creator><pubDate>Sun, 18 Apr 2004 08:08:54 -0000</pubDate><guid>https://sourceforge.nete7979453ea92493194ca6ee92ab45fd237f21286</guid></item><item><title>sfence() fails + crashes</title><link>https://sourceforge.net/p/softwire/bugs/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It seems like sfence() is crashing when used as intricsic.&lt;/p&gt;
&lt;p&gt;Bug 1:&lt;br /&gt;
Somewhere in Encoding *Assembler::x86(..) sfence causes&lt;br /&gt;
an internal error.  Probably in "encodeInstruction".&lt;/p&gt;
&lt;p&gt;Bug 2:&lt;br /&gt;
The exception is caught by the try/catch, but "const&lt;br /&gt;
char *Parser::skipLine()" crashes, as "this" ("parser"&lt;br /&gt;
in HandleError) is not initialized.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Klaus Post</dc:creator><pubDate>Sun, 07 Mar 2004 17:34:52 -0000</pubDate><guid>https://sourceforge.net1aafcbea4ef4df30ce600187c967181aa623c50f</guid></item><item><title>Error in data after code from intrinsics</title><link>https://sourceforge.net/p/softwire/bugs/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I have recently been having errors where I an compiling &lt;br /&gt;
a small script &amp;amp; using the intrinsics &amp;amp; I am placing &lt;br /&gt;
(labeled) static data in the memory area after the actual &lt;br /&gt;
function code.&lt;/p&gt;
&lt;p&gt;In the generated code (in the echo file) the exact code &lt;br /&gt;
I am generating is reproduced correctly &amp;amp; all the labels &lt;br /&gt;
etc are correct.&lt;/p&gt;
&lt;p&gt;However in the binary (compiled) version SoftWire has &lt;br /&gt;
(quite correctly) padded from my 'ret' instruction up to &lt;br /&gt;
the start of the nearest aligned boundary with 'nop's &lt;br /&gt;
(0x90).&lt;/p&gt;
&lt;p&gt;The problem is that when it links the labels the first data &lt;br /&gt;
item points not to first label, but to the start of the &lt;br /&gt;
series of 'nop's (ie the first byte after the 'ret'); so that &lt;br /&gt;
the data when it is read is nonsense. All the subsequent &lt;br /&gt;
data items have the correct pointers, it is just the first &lt;br /&gt;
data item. The problem can be worked arround by &lt;br /&gt;
inserting an unlabeled dword ( ie CodeGenerator::dd(0) ).&lt;/p&gt;
&lt;p&gt;I have been using version 4.20 with this error occuring &lt;br /&gt;
under MSVS.NET 2003.&lt;/p&gt;
&lt;p&gt;nsb00@imperial.ac.uk&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 14 Jan 2004 15:52:39 -0000</pubDate><guid>https://sourceforge.netdba684e274387390e23246e06c9202b09699d866</guid></item><item><title>GCC (linux or mingw) makefiles missing in distribution</title><link>https://sourceforge.net/p/softwire/bugs/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Despite documentation, there are no Makefiles in&lt;br /&gt;
distribution&lt;/p&gt;
&lt;p&gt;This is an example Makefile that successfully compiles&lt;br /&gt;
SoftWire in DLL form (as required by LGPL license) and&lt;br /&gt;
the example test proggy.&lt;/p&gt;
&lt;p&gt;Small comment: the default .def file is autogenerated&lt;br /&gt;
(with all functions exported), but it's also possible&lt;br /&gt;
to cripple it a bit by hand, to remove references to&lt;br /&gt;
library functions etc.&lt;/p&gt;
&lt;p&gt;============= cut ===================&lt;/p&gt;
&lt;p&gt;SRC = Assembler.cpp \
Encoding.cpp \
Error.cpp \
Instruction.cpp \
InstructionSet.cpp \
Linker.cpp \
Loader.cpp \
Macro.cpp \
Operand.cpp \
Parser.cpp \
Scanner.cpp \
Synthesizer.cpp \
Token.cpp \
TokenList.cpp&lt;/p&gt;
&lt;p&gt;OBJS = ${SRC:.cpp=.o}&lt;/p&gt;
&lt;p&gt;CXXFLAGS = -fno-operator-names -O3&lt;br /&gt;
LIBS = stdc++&lt;/p&gt;
&lt;p&gt;all: dll test&lt;/p&gt;
&lt;p&gt;dll: softwire.dll&lt;/p&gt;
&lt;p&gt;test: test.exe&lt;/p&gt;
&lt;p&gt;test.exe: Test.o softwire.dll&lt;br /&gt;
gcc -L. -mconsole -o $@ Test.o -lsoftwire -lstdc++&lt;/p&gt;
&lt;p&gt;softwire.dll: ${OBJS} softwire.def&lt;br /&gt;
dllwrap -o $@ ${LDFLAGS} ${OBJS} -lstdc++ --def&lt;br /&gt;
softwire.def --export-all-symbols --output-lib&lt;br /&gt;
libsoftwire.a&lt;/p&gt;
&lt;p&gt;clean:&lt;br /&gt;
rm -f ${OBJS} Test.o&lt;/p&gt;
&lt;p&gt;mrproper:&lt;br /&gt;
rm -f ${OBJS} Test.o test.exe softwire.dll  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;softwire.def: ${OBJS}&lt;br /&gt;
dllwrap -o $@ ${LDFLAGS} ${OBJS} -lstdc++ --output-def&lt;br /&gt;
softwire.def --export-all-symbols --output-lib&lt;br /&gt;
libsoftwire.a&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Krzysztof Foltman</dc:creator><pubDate>Sat, 01 Mar 2003 09:51:02 -0000</pubDate><guid>https://sourceforge.netd0e1a5599923b56d4468cfb32ecbb541efa4d82d</guid></item></channel></rss>