On 07 March 2005 18:01, Kurt Roeckx wrote:
On Mon, Mar 07, 2005 at 11:47:31AM -, Simon Marlow wrote:
$ cat bug.c
register void * R1 __asm__(%r13);
extern void g(void);
static void f(void) {
R1 = g;
goto *R1;
}
$ gcc -S -O bug.c
$
And take a look at the generated assembly
: glasgow-haskell-users@haskell.org
Subject: RE: x86_64 port
On 04 March 2005 16:59, John Goerzen wrote:
On Fri, Mar 04, 2005 at 04:57:04PM -, Simon Marlow wrote:
On 04 March 2005 14:04, John Goerzen wrote:
My amd64 hardware arrived yesterday, shouldn't be too long before
we have
On 04 March 2005 17:48, Wolfgang Thaller wrote:
On 4-Mar-05, at 11:57 AM, Simon Marlow wrote:
Don't hold your breath, I have some bad news. It seems that gcc is
still generating incorrect code for register variables (or maybe it's
broken again?).
So maybe this will be the first NCG-only
On 04 March 2005 17:32, Kurt Roeckx wrote:
I have no idea what ghc has too do with gcc,
A bit of background: GHC uses gcc as a backend compiler. GHC generates
C code that is compiled using gcc (we also have a native code generator
for some platforms; but not for x86_64 yet).
or what the
On 04 March 2005 22:54, Donald Bruce Stewart wrote:
simonmar:
On 04 March 2005 16:59, John Goerzen wrote:
On Fri, Mar 04, 2005 at 04:57:04PM -, Simon Marlow wrote:
On 04 March 2005 14:04, John Goerzen wrote:
My amd64 hardware arrived yesterday, shouldn't be too long before
we have a
On Mon, Mar 07, 2005 at 11:47:31AM -, Simon Marlow wrote:
$ cat bug.c
register void * R1 __asm__(%r13);
extern void g(void);
static void f(void) {
R1 = g;
goto *R1;
}
$ gcc -S -O bug.c
$
And take a look at the generated assembly for the function f:
f:
.LFB2:
On 07 March 2005 16:18, David Brown wrote:
On Mon, Mar 07, 2005 at 11:47:31AM -, Simon Marlow wrote:
$ cat bug.c
register void * R1 __asm__(%r13);
extern void g(void);
static void f(void) {
R1 = g;
goto *R1;
}
$ gcc -S -O bug.c
$
And take a look at the generated assembly
On 07 March 2005 16:40, Simon Marlow wrote:
On 07 March 2005 16:18, David Brown wrote:
On Mon, Mar 07, 2005 at 11:47:31AM -, Simon Marlow wrote:
$ cat bug.c
register void * R1 __asm__(%r13);
extern void g(void);
static void f(void) {
R1 = g;
goto *R1;
}
$ gcc -S -O bug.c
$
On Mon, Mar 07, 2005 at 04:59:38PM -, Simon Marlow wrote:
The mystery as to why this doesn't affect us on x86 is solved: on x86 we
generate slightly different C code, including a dummy function call:
extern void g(void);
static void f(void) {
R1 = g;
dummy();
goto *R1;
}
In message [EMAIL PROTECTED] David Brown
[EMAIL PROTECTED] writes:
On Mon, Mar 07, 2005 at 04:59:38PM -, Simon Marlow wrote:
The mystery as to why this doesn't affect us on x86 is solved: on x86 we
generate slightly different C code, including a dummy function call:
extern void
On Mon, Mar 07, 2005 at 11:47:31AM -, Simon Marlow wrote:
$ cat bug.c
register void * R1 __asm__(%r13);
extern void g(void);
static void f(void) {
R1 = g;
goto *R1;
}
$ gcc -S -O bug.c
$
And take a look at the generated assembly for the function f:
f:
.LFB2:
On Mon, Mar 07, 2005 at 09:15:01AM -0800, David Brown wrote:
gcc 3.3.4 on AMD64 appears to generate correct code when the dummy call is
present. Ick.
It generates the following code here:
subq$8, %rsp
movl$g, %r13d
movl$0, %eax
calldummy
On Mon, Mar 07, 2005 at 07:01:16PM +0100, Kurt Roeckx wrote:
Also, it should be a movq $g, %rax instead of movl.
The default x86_64 model on gcc is -mcmodel=small, which assumes that all
symbols are within the first 2GB. If you compile it with -mcmodel=medium
it'll generate:
movabsq $g,
On 02 March 2005 14:15, John Goerzen wrote:
Kip Macy kip.macy at gmail.com writes:
I've followed the instructions to the letter.
Debian has had a working amd64 package of ghc for some time now. It
is built out of the standard source base for it. You can find that
at:
Simon Marlow ([EMAIL PROTECTED]) wrote:
My amd64 hardware arrived yesterday, shouldn't be too long before we
have a registerised port of GHC, and possibly a native code generator...
:-
As soon as you have some pre-alpha release, I'm ready to test ;)
Sincerely,
Gour
--
Registered Linux
My amd64 hardware arrived yesterday, shouldn't be too long before we
have a registerised port of GHC, and possibly a native code generator...
That would be great! I just assembled an amd64 box and I am mssing ghci
badly. Let me know if I can be of any help (testing ..).
Cheers, Ralf
On Fri, Mar 04, 2005 at 09:38:47AM -, Simon Marlow wrote:
Even if you're not running Debian, there are tools available to
convert a .deb to a RPM or tgz package. Or, you can easily unpack a
deb using only ar(1) and tar(1).
My amd64 hardware arrived yesterday, shouldn't be too long
On 04 March 2005 14:04, John Goerzen wrote:
On Fri, Mar 04, 2005 at 09:38:47AM -, Simon Marlow wrote:
Even if you're not running Debian, there are tools available to
convert a .deb to a RPM or tgz package. Or, you can easily unpack a
deb using only ar(1) and tar(1).
My amd64 hardware
On Fri, Mar 04, 2005 at 04:57:04PM -, Simon Marlow wrote:
On 04 March 2005 14:04, John Goerzen wrote:
My amd64 hardware arrived yesterday, shouldn't be too long before we
have a registerised port of GHC, and possibly a native code
generator...
burns excellent /burns
Don't hold
On 04 March 2005 16:59, John Goerzen wrote:
On Fri, Mar 04, 2005 at 04:57:04PM -, Simon Marlow wrote:
On 04 March 2005 14:04, John Goerzen wrote:
My amd64 hardware arrived yesterday, shouldn't be too long before
we have a registerised port of GHC, and possibly a native code
generator...
On 4-Mar-05, at 11:57 AM, Simon Marlow wrote:
Don't hold your breath, I have some bad news. It seems that gcc is
still generating incorrect code for register variables (or maybe it's
broken again?).
So maybe this will be the first NCG-only port of GHC :-).
Death to the Mangler!
Cheers,
Wolfgang
Kip Macy kip.macy at gmail.com writes:
I've followed the instructions to the letter.
Debian has had a working amd64 package of ghc for some time now. It is built
out of the standard source base for it. You can find that at:
http://ftp.debian.org/debian/pool/main/g/ghc6
You'll want to grab
Much of this is done already. Simon Marlow's done the register mapping
(ghc/includes/MachRegs.h) and done other registerisation work. There
was a bug in gcc-3.3x that halted things for a while, but this has been
fixed in 6.4
All the files mentioned except for the Adjustor appear to have
kip.macy:
Sorry if this is a RTFM type question - but what is the status of the
x86_64 port?
As it says on
http://www.haskell.org/ghc/docs/latest/html/building/sec-port-info.html
it currently works unregisterised (and is available in binary form on a
number of platforms). The registerised
number of platforms). The registerised port is being held up as none of
the developers have regular access to such a machine.
I'm new to Haskell but not to assembler - is the work required
something that someone in my position could contribute to?
___
kip.macy:
number of platforms). The registerised port is being held up as none of
the developers have regular access to such a machine.
I'm new to Haskell but not to assembler - is the work required
something that someone in my position could contribute to?
Certainly. Not much Haskell is
26 matches
Mail list logo