9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bakul Shah <bakul@bitblocks.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] more on why vc can't produce amd64 executables
Date: Wed, 21 Aug 2013 12:25:52 -0700	[thread overview]
Message-ID: <0A2E2FB2-B2F1-444E-AF62-85FAC05335EA@bitblocks.com> (raw)
In-Reply-To: <d92931b41d270e71c61f582b9860649c@brasstown.quanstro.net>


On Aug 21, 2013, at 11:57 AM, erik quanstrom <quanstro@quanstro.net> wrote:

>> You're casting a large int into a small int and this seems right.
>> Just as (uchar)0x1234 => 0x34
>>
>>> marshalling a 64-bit pointer in this way will lay down the
>>> bytes with the hi and lo reversed.
>>
>> Perhaps you meant to do *(uchar*)&x?

Incidentally, on a little endian machine you'd still get
0xef out of 0x0123456789abcdefull!

>
> you're right.  what was i thinking.  still, pointers are marshaled wrong.

> compiled on mips, this program
>
> #include <u.h>
> #include <libc.h>
>
> void
> main(void)
> {
> 	char *p;
>
> 	p = malloc(100);
> 	print("%p\n", p);
> }

> does this
> ; 6.crash
> 6.crash 203443: suicide: sys: trap: #SS pc=0x2048f2

How %p is treated is really upto the implementation but
it should not crash since p is never dereferenced. Does
this work?

	uintptr q;
	print("%p", q);







  reply	other threads:[~2013-08-21 19:25 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-21 18:36 erik quanstrom
2013-08-21 18:49 ` Bakul Shah
2013-08-21 18:57   ` erik quanstrom
2013-08-21 19:25     ` Bakul Shah [this message]
2013-08-21 19:29       ` erik quanstrom
2013-08-21 21:44       ` erik quanstrom
2013-08-22 15:32         ` Bakul Shah
2013-08-22 16:54           ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0A2E2FB2-B2F1-444E-AF62-85FAC05335EA@bitblocks.com \
    --to=bakul@bitblocks.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).