I have attempted a "partial" (source only... and docs) release of
0.99.00 on SF. Keith and Chuck's work has "languished" long enough!
https://sourceforge.net/project/showfiles.php?group_id=6208
Your mission, should you choose to accept it, is to download the source,
attempt to compile it, test it if possible, and let us know how it goes.
Best,
Frank
|
|
0
|
|
|
|
Reply
|
Frank
|
5/24/2007 12:38:32 PM |
|
Frank Kotler <spamtrap@crayne.org> writes:
> I have attempted a "partial" (source only... and docs) release of
> 0.99.00 on SF. Keith and Chuck's work has "languished" long enough!
>
> https://sourceforge.net/project/showfiles.php?group_id=6208
>
> Your mission, should you choose to accept it, is to download the
> source, attempt to compile it, test it if possible, and let us know
> how it goes.
Is this the 64-bit capable one?
I've finally ordered my first 64-bit x86 machine (been Alpha
since the 90s, and G5 for a couple of years, though), so if
it is, I may well be forced to bang my head against the 137
new opcode families since I last programmed x86 asm in anger.
Phil
--
"Home taping is killing big business profits. We left this side blank
so you can help." -- Dead Kennedys, written upon the B-side of tapes of
/In God We Trust, Inc./.
|
|
0
|
|
|
|
Reply
|
Phil
|
5/24/2007 2:27:58 PM
|
|
On May 24, 2:38 pm, Frank Kotler <spamt...@crayne.org> wrote:
> I have attempted a "partial" (source only... and docs) release of
> 0.99.00 on SF. Keith and Chuck's work has "languished" long enough!
>
> https://sourceforge.net/project/showfiles.php?group_id=6208
>
> Your mission, should you choose to accept it, is to download the source,
> attempt to compile it, test it if possible, and let us know how it goes.
>
> Best,
> Frank
Compiled with mingw/gcc and run without problems. However couldn't
compile with microsoft vc as that compiler does not have inttypes.h
c99 header (probably does not supports c99).
Greetings, Branimir.
|
|
0
|
|
|
|
Reply
|
Branimir
|
5/24/2007 3:28:06 PM
|
|
Phil Carmody wrote:
....
>>https://sourceforge.net/project/showfiles.php?group_id=6208
....
> Is this the 64-bit capable one?
Yes. (also includes the "-f macho" output format for MacOSX - previously
available only at Apple)
> I've finally ordered my first 64-bit x86 machine (been Alpha
> since the 90s, and G5 for a couple of years, though), so if
> it is, I may well be forced to bang my head against the 137
> new opcode families since I last programmed x86 asm in anger.
Think of it as a "first person shooter" with moving targets! :)
I'm not up to 64-bits yet - seems to me that "more registers" is going
to be more important than "wider registers", for most purposes(?).
Everything will have to be completely re-thought/re-written to take
advantage... I hope it turns out to be "fun"...
Best,
Frank
|
|
0
|
|
|
|
Reply
|
Frank
|
5/24/2007 7:16:34 PM
|
|
Branimir Maksimovic wrote:
....
>>https://sourceforge.net/project/showfiles.php?group_id=6208
....
> Compiled with mingw/gcc and run without problems.
Good!
> However couldn't
> compile with microsoft vc as that compiler does not have inttypes.h
> c99 header (probably does not supports c99).
Oh, oh! Nasm *does* require C99 support - since 0.98.39 (needed
"snprintf" to get rid of a buffer overflow). C99 is apparently not as
widely/fully supported as I'd been led to believe...
I understand MS has decided they're not happy with their tools being
used in conjunction with open-source projects. I guess if you've got
"boughten" tools the EULA allows it, but the "free" tools, maybe not. If
you care, check your EULA.
Thanks for the feedback, Branimir!
We'll have to get some binary packages up there... soon...
Best,
Frank
|
|
0
|
|
|
|
Reply
|
Frank
|
5/24/2007 7:37:34 PM
|
|
On May 24, 9:37 pm, Frank Kotler <spamt...@crayne.org> wrote:
> Branimir Maksimovic wrote:
>
> ...
>
> >>https://sourceforge.net/project/showfiles.php?group_id=6208
>
> ...
>
> > Compiled with mingw/gcc and run without problems.
>
> Good!
>
> > However couldn't
> > compile with microsoft vc as that compiler does not have inttypes.h
> > c99 header (probably does not supports c99).
>
> Oh, oh! Nasm *does* require C99 support - since 0.98.39 (needed
> "snprintf" to get rid of a buffer overflow). C99 is apparently not as
> widely/fully supported as I'd been led to believe...
Microsoft has their own "ms99" standard and I guess
they don;t care about c99.
If you want you can #ifdef some parts of the code:
eg __int8 - __int64 instead of standard header ints,
or sprintf_s instead of snprintf ...
>
> I understand MS has decided they're not happy with their tools being
> used in conjunction with open-source projects. I guess if you've got
> "boughten" tools the EULA allows it, but the "free" tools, maybe not. If
> you care, check your EULA.
It says nothing about free tools. I use vc++ 2005
express which can be downloaded and used for free.
I guess problem with eula would be if I use some commercial
tools with it, or develop for platform other than windows.
But I can't see anything that prevents using it with free
tools.
Greetings, Branimir.
|
|
0
|
|
|
|
Reply
|
Branimir
|
5/24/2007 9:33:03 PM
|
|
On May 24, 7:38 am, Frank Kotler <spamt...@crayne.org> wrote:
> I have attempted a "partial" (source only... and docs) release of
> 0.99.00 on SF. Keith and Chuck's work has "languished" long enough!
>
> https://sourceforge.net/project/showfiles.php?group_id=6208
>
> Your mission, should you choose to accept it, is to download the source,
> attempt to compile it, test it if possible, and let us know how it goes.
>
> Best,
> Frank
If it trashes our hard drive, will you reimburse us ?
It's only 20 Gigs.
Andy
|
|
0
|
|
|
|
Reply
|
Andy
|
5/27/2007 5:01:20 AM
|
|
Hello,
Frank Kotler <spamtrap@crayne.org> schrieb:
> Branimir Maksimovic wrote:
>> However couldn't
>> compile with microsoft vc as that compiler does not have inttypes.h
>> c99 header (probably does not supports c99).
>
> Oh, oh! Nasm *does* require C99 support - since 0.98.39 (needed
> "snprintf" to get rid of a buffer overflow). C99 is apparently not as
> widely/fully supported as I'd been led to believe...
Yes, using c99 is bad. According to comp.lang.c, there is almost no
implementation that implements C99 correctly and completely.
Note that MS compilers have _snprintf() since MSVC6.
> I understand MS has decided they're not happy with their tools being
> used in conjunction with open-source projects.
This is not true. The compilers from Microsoft are mainly C++ compiles
that happen to be able to compile C, too. Microsoft does not want to add
C specifics which make it incompatible with C++. Thus, if you want to
convince Microsoft to implement C99, make C99 become an integral part of
the next C++ standard, as far as possible.
There have been some statements from Microsoft employees on blogs and/or
newsgroups (I don't completely remember) that said so.
Regards,
Spiro.
--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/
|
|
0
|
|
|
|
Reply
|
Spiro
|
5/29/2007 4:38:06 PM
|
|
Spiro Trikaliotis <spamtrap@crayne.org> writes:
> Hello,
>
> Frank Kotler <spamtrap@crayne.org> schrieb:
> > Branimir Maksimovic wrote:
>
> >> However couldn't
> >> compile with microsoft vc as that compiler does not have inttypes.h
> >> c99 header (probably does not supports c99).
> >
> > Oh, oh! Nasm *does* require C99 support - since 0.98.39 (needed
> > "snprintf" to get rid of a buffer overflow). C99 is apparently not as
> > widely/fully supported as I'd been led to believe...
>
> Yes, using c99 is bad. According to comp.lang.c, there is almost no
> implementation that implements C99 correctly and completely.
If lack of full bugfree implementations was a reason why use
of a language is bad, then use of pretty much _all_ versions
of all languages is bad.
I can't think of any language I've used where the most
popular implementations thereof wasn't either woefully
incomplete, or as buggy as a bag of cockroaches.
Phil
--
"Home taping is killing big business profits. We left this side blank
so you can help." -- Dead Kennedys, written upon the B-side of tapes of
/In God We Trust, Inc./.
|
|
0
|
|
|
|
Reply
|
Phil
|
5/30/2007 8:43:49 AM
|
|
Andy wrote:
> On May 24, 7:38 am, Frank Kotler <spamt...@crayne.org> wrote:
>
>>I have attempted a "partial" (source only... and docs) release of
>>0.99.00 on SF. Keith and Chuck's work has "languished" long enough!
>>
>>https://sourceforge.net/project/showfiles.php?group_id=6208
>>
>>Your mission, should you choose to accept it, is to download the source,
>>attempt to compile it, test it if possible, and let us know how it goes.
>>
>
> If it trashes our hard drive, will you reimburse us ?
>
> It's only 20 Gigs.
If it trashes your hard drive, I personally will make both a one and a
zero available to you for free internet download with an unlimited-copy
royalty-free license.
Arrangement of those 20G worth of 1's and 0's, of course, is solely your
own responsibility.
Ed
|
|
0
|
|
|
|
Reply
|
Ed
|
5/31/2007 10:46:57 AM
|
|
Hello Phil,
Phil Carmody wrote:
> Spiro Trikaliotis <spamtrap@crayne.org> writes:
>> Yes, using c99 is bad. According to comp.lang.c, there is almost no
>> implementation that implements C99 correctly and completely.
>
> If lack of full bugfree implementations was a reason why use
> of a language is bad, then use of pretty much _all_ versions
> of all languages is bad.
This might be. Nevertheless, sticking to C89/C90/C95, you are on the
safe side. If you use C99, you are asking for trouble whenever
portability is important for you. This is true for the moment, and it
does not look like it will change soon.
Regards,
Spiro.
--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/
|
|
0
|
|
|
|
Reply
|
Spiro
|
6/2/2007 5:38:32 PM
|
|
In article <slrnf5olne.qgj.news-200605@news.trikaliotis.net>,
spamtrap@crayne.org says...
[ ... ]
> This is not true. The compilers from Microsoft are mainly C++ compiles
> that happen to be able to compile C, too. Microsoft does not want to add
> C specifics which make it incompatible with C++. Thus, if you want to
> convince Microsoft to implement C99, make C99 become an integral part of
> the next C++ standard, as far as possible.
That's pretty much scheduled to be the case -- the current draft of C++
0x requires that a C++ compiler include essentially everything that's
been added in the C99 library anyway. In the core language, some things
like variadic macros will probably be added to C++ 0x, but other things
like variable length arrays probably won't.
--
Later,
Jerry.
The universe is a figment of its own imagination.
|
|
0
|
|
|
|
Reply
|
Jerry
|
6/3/2007 5:35:49 PM
|
|
Spiro Trikaliotis <spamtrap@crayne.org> writes:
> Hello Phil,
>
> Phil Carmody wrote:
>
> > Spiro Trikaliotis <spamtrap@crayne.org> writes:
> >> Yes, using c99 is bad. According to comp.lang.c, there is almost no
> >> implementation that implements C99 correctly and completely.
> >
> > If lack of full bugfree implementations was a reason why use
> > of a language is bad, then use of pretty much _all_ versions
> > of all languages is bad.
>
> This might be. Nevertheless, sticking to C89/C90/C95, you are on the
> safe side. If you use C99, you are asking for trouble whenever
> portability is important for you. This is true for the moment, and it
> does not look like it will change soon.
On what platform that you use will the latest version of gcc
not compile? If none, what particular feature of C99 do you
most use that the latest version of gcc does not support?
Phil
--
"Home taping is killing big business profits. We left this side blank
so you can help." -- Dead Kennedys, written upon the B-side of tapes of
/In God We Trust, Inc./.
|
|
0
|
|
|
|
Reply
|
Phil
|
6/4/2007 11:05:13 PM
|
|
"Phil Carmody" <thefatphil_demunged@yahoo.co.uk> wrote in message
news:87vee35niu.fsf@nonospaz.fatphil.org...
> On what platform that you use will the latest version of gcc
> not compile?
Um, like Windows?
--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end
|
|
0
|
|
|
|
Reply
|
James
|
6/5/2007 5:45:50 AM
|
|
"James Van Buskirk" <spamtrap@crayne.org> writes:
> "Phil Carmody" <thefatphil_demunged@yahoo.co.uk> wrote in message
> news:87vee35niu.fsf@nonospaz.fatphil.org...
>
> > On what platform that you use will the latest version of gcc
> > not compile?
>
> Um, like Windows?
I had no idea it was quite that backward.
Then again, 'doze shouldn't need gcc - didn't Herb deliver
what he promised?
Phil
--
"Home taping is killing big business profits. We left this side blank
so you can help." -- Dead Kennedys, written upon the B-side of tapes of
/In God We Trust, Inc./.
|
|
0
|
|
|
|
Reply
|
Phil
|
6/5/2007 6:08:34 PM
|
|
In article <87wsyi6zq5.fsf@nonospaz.fatphil.org>,
thefatphil_demunged@yahoo.co.uk says...
> "James Van Buskirk" <spamtrap@crayne.org> writes:
> > "Phil Carmody" <thefatphil_demunged@yahoo.co.uk> wrote in message
> > news:87vee35niu.fsf@nonospaz.fatphil.org...
> >
> > > On what platform that you use will the latest version of gcc
> > > not compile?
> >
> > Um, like Windows?
>
> I had no idea it was quite that backward.
>
> Then again, 'doze shouldn't need gcc - didn't Herb deliver
> what he promised?
I'm not sure exactly what he's talking about -- I have gcc 4.3.0 running
just fine in Windows and that's not really even officially released yet.
As far as why I happen to use it: I'm really running the conceptGcc
compiler, which includes a fair amount of C++ 0x "stuff" (especially
concepts, in case that wasn't obvious) that isn't present in much of
anything else. Of course, most of it is at least theoretically
experimental, but it also still works fine for code that doesn't use its
new features.
--
Later,
Jerry.
The universe is a figment of its own imagination.
|
|
0
|
|
|
|
Reply
|
Jerry
|
6/7/2007 3:06:21 AM
|
|
"Jerry Coffin" <spamtrap@crayne.org> wrote in message
news:MPG.20d1241b159e33479898f8@news.sunsite.dk...
> I'm not sure exactly what he's talking about -- I have gcc 4.3.0 running
> just fine in Windows and that's not really even officially released yet.
As a little experiment, could you please:
o Create a file with just one function, that only returns
an integer value, say 12345678910
o Compile the function with gcc 4.3.0 with switches -m64 -S
o Show us the source code file and the resulting *.s file.
Thanks in advance.
--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end
|
|
0
|
|
|
|
Reply
|
James
|
6/7/2007 5:56:57 AM
|
|
Phil Carmody <thefatphil_demunged@yahoo.co.uk> wrote:
>Spiro Trikaliotis <spamtrap@crayne.org> writes:
>>
>> This might be. Nevertheless, sticking to C89/C90/C95, you are on the
>> safe side. If you use C99, you are asking for trouble whenever
>> portability is important for you. This is true for the moment, and it
>> does not look like it will change soon.
>
>On what platform that you use will the latest version of gcc
>not compile? If none, what particular feature of C99 do you
>most use that the latest version of gcc does not support?
It's interesting you would put it this way. In my view, "the latest
version of gcc" is only one compiler, no matter how many operating system
it runs on. "Portability" surely means "across different compilers", and
with that definition, Spiro's statement has some truth.
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
|
|
0
|
|
|
|
Reply
|
Tim
|
6/7/2007 6:12:50 AM
|
|
In article <b9WdnahsTYK0A_rbnZ2dnUVZ_q2pnZ2d@comcast.com>,
spamtrap@crayne.org says...
> "Jerry Coffin" <spamtrap@crayne.org> wrote in message
> news:MPG.20d1241b159e33479898f8@news.sunsite.dk...
>
> > I'm not sure exactly what he's talking about -- I have gcc 4.3.0 running
> > just fine in Windows and that's not really even officially released yet.
>
> As a little experiment, could you please:
>
> o Create a file with just one function, that only returns
> an integer value, say 12345678910
>
> o Compile the function with gcc 4.3.0 with switches -m64 -S
Sorry, but I haven't compiled it to produce 64-bit output. With a bit of
luck, I may be able to do that this weekend though...
> o Show us the source code file and the resulting *.s file.
Other than that minor detail, sure. Here's the source code:
int trash() {
return 123456;
}
and the resulting output:
.file "junk.c"
.text
.align 2
..globl __Z5trashv
.def __Z5trashv; .scl 2; .type 32; .endef
__Z5trashv:
pushl %ebp
movl %esp, %ebp
movl $123456, %eax
popl %ebp
ret
With -fomit-frame-pointer the result is a bit nicer:
.file "junk.c"
.text
.align 2
..globl __Z5trashv
.def __Z5trashv; .scl 2; .type 32; .endef
__Z5trashv:
movl $123456, %eax
ret
I'm afraid I don't see much about this that would have anything to do
with the version of the compiler though -- other than trivial
differences in the syntax, I'm pretty sure the result would pretty much
the same from essentially _any_ compiler.
--
Later,
Jerry.
The universe is a figment of its own imagination.
|
|
0
|
|
|
|
Reply
|
Jerry
|
6/8/2007 3:55:00 AM
|
|
"Jerry Coffin" <spamtrap@crayne.org> wrote in message
news:MPG.20d280eba6fa09339898f9@news.sunsite.dk...
> I'm pretty sure the result would pretty much
> the same from essentially _any_ compiler.
Of course not. A compiler would issue native code:
C:\MASM>type junk.c
/* File: junk.c */
__int64 trash()
{
return 12345678910LL;
}
/* End of file: junk.c */
C:\MASM>cl /Fa /c junk.c
Microsoft (R) C/C++ Optimizing Compiler Version 14.00.40310.41 for AMD64
Copyright (C) Microsoft Corporation. All rights reserved.
junk.c
C:\MASM>type junk.asm
; Listing generated by Microsoft (R) Optimizing Compiler Version
14.00.40310.41
include listing.inc
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC trash
; Function compile flags: /Odtp
_TEXT SEGMENT
trash PROC NEAR
; File c:\asm\masm\junk.c
; Line 5
mov rax, 12345678910 ; 00000002dfdc1c3eH
; Line 6
ret 0
trash ENDP
_TEXT ENDS
END
Obviously you are trying to be difficult by choosing a result
to return that doesn't involve setting the high bits of rax,
contrary to my request.
--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end
|
|
0
|
|
|
|
Reply
|
James
|
6/8/2007 5:33:46 AM
|
|
In article <iOmdnQvBk6Wkd_XbnZ2dnUVZ_s2vnZ2d@comcast.com>,
spamtrap@crayne.org says...
[ ... ]
> Obviously you are trying to be difficult by choosing a result
> to return that doesn't involve setting the high bits of rax,
> contrary to my request.
Your request was:
> As a little experiment, could you please:
>
> o Create a file with just one function, that only returns
> an integer value, say 12345678910
IMO, this does not make it at all clear that the size of integer in
question is any particular importance at all. I had started work on
building gcc supporting a 64-bit target, but when I saw this assinine
accusation, I stopped working on it immediately, and I won't be starting
again.
Acting like a jerk is not a good way to get somebody to do you a favor!
--
Later,
Jerry.
The universe is a figment of its own imagination.
|
|
0
|
|
|
|
Reply
|
Jerry
|
6/11/2007 3:00:00 AM
|
|
|
20 Replies
105 Views
(page loaded in 0.482 seconds)
|