Erlang Mailing Lists

Author Message

<  Erlang questions mailing list  ~  Porting to IRIX

xkahn at cybersites.com
Posted: Thu Dec 10, 1998 3:51 pm Reply with quote
Guest
I seem to suddenly need erlang on IRIX and Linux. Everything
works fine on Linux, of course. But now I'm porting erlang to IRIX 6.5.
(64 bit) I will post all my changes back to this list for people to use.
For the moment however, I'm not changing things in a cross-platform
manner. I'm simply making changes so things work. (Hack and slash
method.) When I get a little better at autoconf I'll make fixes the
correct way.

1) gcc doesn't work on IRIX above 5.3. :^(
2) SGI's cc doesn't support any -W options. I had to remove them.
3) SGI's cc doesn't support -fno-inline
4) IRIX doesn't seem to support vfork. (I havn't found it yet.)
5) There are a number of compile problems with standard c
shortcuts which seem not to compile. I've added casts in
a number of places to make things work.

I've now compiled the package on the SGI. However, it seg faults
on startup. So here is the stack dump. There seem to be two problems --
the first is a memory allocation failure. The second is a seg fault in
the reporting of that error. :^)

Here is the stack trace:

Thread 0x10000
> 0 strlen(0x0, 0x1009f326, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0)
["/xlv41/6.5.2m/work/irix/lib/libc/libc_n32_M4/strings/strlen.s":58, 0xfad4e60]
1 sys_printf(where = 6, format = 0x1009f310 = "<Erlang crash dump>
%s
", ... = <void>)
["erlang-47.4.0/erts/system/emulator/sys.unix/sys.c":2298, 0x10059eb8]
2 erl_crash_dump(fmt = 0x1009dd40 = "Got unusable memory block 0x%x, size %u
", args = 0x7fff2c50 = "")
["erlang-47.4.0/erts-47.4.0/system/emulator/runtime/break.c":499, 0x1004c36c]
3 erl_exit(n = 1, fmt = 0x1009dd40 = "Got unusable memory block 0x%x, size %u
", ... = <void>)
["erlang-47.4.0/erts-47.4.0/system/emulator/jam/mips-sgi-irix6.5/config.c":125, 0x1006f438]
4 safe_alloc(len = 65536)
["erlang-47.4.0/erts-47.4.0/system/emulator/runtime/utils.c":528, 0x1000c5b8]
5 erl_init()
["erlang-47.4.0/erts-47.4.0/system/emulator/runtime/erl_init.c":175, 0x10053240]
6 erl_start(argc = 1, argv = 0x7fff2f04)
["erlang-47.4.0/erts-47.4.0/system/emulator/runtime/erl_init.c":469, 0x10054154]
7 main(argc = 1, argv = 0x7fff2f04)
["erlang-47.4.0/erts/system/emulator/sys.unix/sys.c":254, 0x10054428]
8 __start()
["/xlv55/kudzu-apr12/work/irix/lib/libc/libc_n32_M4/csu/crt1text.s":177, 0x10009d68]

As you can see, it had a problem allocating memory. (This machine
has HUGE ammounts of memory, but I haven't looked at how much has been
allocated.) This may be a problem with allocating more memory than is
available under IRIX. (Linux will allocate more memory than is available,
which can lead to problems later.)

I would love any comments or suggestions... If anyone wants the
patch files now (before things are working and before they are integrated
with the configure system) let me know.

-Ben

------------------------------------ | _,,,--,,_ ,) ----------
Benjamin Kahn /,`.-'`' -, ;-;;'
(212) 924 - 2220 |,4- ) )-,_ ) /
ben_at_cybersites.com --------------- '---''(_/--' (_/-' ---------------
If you say it in CAPS, it means you spent the extra energy
hitting the SHIFT key to show you really MEAN it.





Post generated using Mail2Forum (http://m2f.sourceforge.net)
seb at erix.ericsson.se
Posted: Thu Dec 10, 1998 5:51 pm Reply with quote
Guest
"Ben 'The Con Man' Kahn" <xkahn_at_cybersites.com> writes:

> I seem to suddenly need erlang on IRIX and Linux. Everything
> works fine on Linux, of course. But now I'm porting erlang to IRIX 6.5.
> (64 bit) I will post all my changes back to this list for people to use.
> For the moment however, I'm not changing things in a cross-platform
> manner. I'm simply making changes so things work. (Hack and slash
> method.) When I get a little better at autoconf I'll make fixes the
> correct way.

Well if you figure out what is needed I can get it into autoconf.

> 1) gcc doesn't work on IRIX above 5.3. :^(
> 2) SGI's cc doesn't support any -W options. I had to remove them.
> 3) SGI's cc doesn't support -fno-inline
> 4) IRIX doesn't seem to support vfork. (I havn't found it yet.)
> 5) There are a number of compile problems with standard c
> shortcuts which seem not to compile. I've added casts in
> a number of places to make things work.

The system used to be a lot more portable, as time went by more people
started working with it and we were under pressure to produce versions
for specific OS's... So the system is a bit less portable today
unfortunately, but our aim is to fix these things as possible so it's
great to see people running it on all kinds of things!

> I've now compiled the package on the SGI. However, it seg faults
> on startup. So here is the stack dump. There seem to be two problems --
> the first is a memory allocation failure. The second is a seg fault in
> the reporting of that error. :^)

I don't know about 6.5 (we don't have any IRIX boxes here) but Shawn
Pearce sent us this earlier:

Shawn Pearce <pearcs_at_rpi.edu> writes:
> Adding these 4 lines to sys.conf lets Erlang compile and run on Irix 6.3. I
> haven't checked 6.4 yet.
>
> #ifdef __sgi
> # define vfork() fork()
> # define EXTRA_POINTER_BITS 0x10000000
> #endif

Good luck,

-- Sebastian


Post generated using Mail2Forum (http://m2f.sourceforge.net)
pearcs at rpi.edu
Posted: Thu Dec 10, 1998 6:10 pm Reply with quote
Guest
"Ben 'The Con Man' Kahn" <xkahn_at_cybersites.com> wrote:
>
> I seem to suddenly need erlang on IRIX and Linux. Everything
> works fine on Linux, of course. But now I'm porting erlang to IRIX 6.5.
> (64 bit) I will post all my changes back to this list for people to use.
> For the moment however, I'm not changing things in a cross-platform
> manner. I'm simply making changes so things work. (Hack and slash
> method.) When I get a little better at autoconf I'll make fixes the
> correct way.
>
> 1) gcc doesn't work on IRIX above 5.3. :^(

gcc 2.7.2.6 will build and create o32 objects which are runnable on all Irix
versions. gcc 2.8.1 will create n32 objects, which are runnable on 6.2 and up.


> 2) SGI's cc doesn't support any -W options. I had to remove them.
> 3) SGI's cc doesn't support -fno-inline
> 4) IRIX doesn't seem to support vfork. (I havn't found it yet.)

Irix doesn't have vfork at all. See the patch I sent in earlier, Sebastian
said to put it in sys.conf, I actually put those lines in sys.h.

> 5) There are a number of compile problems with standard c
> shortcuts which seem not to compile. I've added casts in
> a number of places to make things work.

I haven't tried SGI's cc. Good thing i let it go with gcc first. Sad

> I've now compiled the package on the SGI. However, it seg faults
> on startup. So here is the stack dump. There seem to be two problems --
> the first is a memory allocation failure. The second is a seg fault in
> the reporting of that error. :^)

See the patch i sent in, it'll fix the core dump.

You'll need to apply the other patches I sent for the .erl files in the kernel
in order to get DNS (and thus distributed erlang) running correctly.

--
Shawn.

(The above are the rantings of a body without a mind.)



Post generated using Mail2Forum (http://m2f.sourceforge.net)
xkahn at cybersites.com
Posted: Fri Dec 11, 1998 12:42 am Reply with quote
Guest
On 10 Dec 1998, Sebastian Strollo wrote:

> "Ben 'The Con Man' Kahn" <xkahn_at_cybersites.com> writes:
>
> > I seem to suddenly need erlang on IRIX and Linux. Everything
> > works fine on Linux, of course. But now I'm porting erlang to IRIX 6.5.
> > (64 bit) I will post all my changes back to this list for people to use.
> > For the moment however, I'm not changing things in a cross-platform
> > manner. I'm simply making changes so things work. (Hack and slash
> > method.) When I get a little better at autoconf I'll make fixes the
> > correct way.
>
> Well if you figure out what is needed I can get it into autoconf.

Okay. I'll make the patch files in a few days.

> The system used to be a lot more portable, as time went by more people
> started working with it and we were under pressure to produce versions
> for specific OS's... So the system is a bit less portable today
> unfortunately, but our aim is to fix these things as possible so it's
> great to see people running it on all kinds of things!

Ah! That explains things a bit. :^)

> > I've now compiled the package on the SGI. However, it seg faults
> > on startup. So here is the stack dump. There seem to be two problems --
> > the first is a memory allocation failure. The second is a seg fault in
> > the reporting of that error. :^)
>
> I don't know about 6.5 (we don't have any IRIX boxes here) but Shawn
> Pearce sent us this earlier:
>
> Shawn Pearce <pearcs_at_rpi.edu> writes:
> > Adding these 4 lines to sys.conf lets Erlang compile and run on Irix 6.3. I
> > haven't checked 6.4 yet.
> >
> > #ifdef __sgi
> > # define vfork() fork()
> > # define EXTRA_POINTER_BITS 0x10000000
> > #endif

Umm... I don't seem to have a file called sys.conf. I'll see if
I can find some other file which might work as well...

-Ben

------------------------------------ | _,,,--,,_ ,) ----------
Benjamin Kahn /,`.-'`' -, ;-;;'
(212) 924 - 2220 |,4- ) )-,_ ) /
ben_at_cybersites.com --------------- '---''(_/--' (_/-' ---------------
Meet Linux: Forrest Gump as an operating system.




Post generated using Mail2Forum (http://m2f.sourceforge.net)
xkahn at cybersites.com
Posted: Fri Dec 11, 1998 1:06 am Reply with quote
Guest
Ah ha! I added your code to

sys.h in system/emulator/runtime

and to

erl_unix_sys in system/emulator/unix.sys

and it seems to work! Thanks.

-Ben

------------------------------------ | _,,,--,,_ ,) ----------
Benjamin Kahn /,`.-'`' -, ;-;;'
(212) 924 - 2220 |,4- ) )-,_ ) /
ben_at_cybersites.com --------------- '---''(_/--' (_/-' ---------------
Meet Linux: Forrest Gump as an operating system.




Post generated using Mail2Forum (http://m2f.sourceforge.net)

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum