all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Chris Marusich <cmmarusich@gmail.com>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Rust 1.19 fails to build on i686 on ‘staging’
Date: Sat, 16 Feb 2019 02:53:30 -0800	[thread overview]
Message-ID: <87a7iwm2c5.fsf@gmail.com> (raw)
In-Reply-To: <20190215115132.46844896@scratchpost.org> (Danny Milosavljevic's message of "Fri, 15 Feb 2019 11:51:32 +0100")


[-- Attachment #1.1: Type: text/plain, Size: 1058 bytes --]

Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> writes:

> Can you try the following (if you didn't already)?
>
> [...]
>
> (i.e. the things you did before, just inside a i686-linux guix
> environment.  That only provides minimal--almost no--isolation from
> the host, so it should allow us to test whether the personality is the
> only possible culprit)

Did you mean to say that by using a pure guix environment, we can
achieve a high degree of isolation?

I tried what you suggested.  The mrustc invocation still succeeded.

Just for fun, I also made a simple wrapper program that lets me run
another program using the LINUX32 personality (see attached).  I think I
programmed it correctly, but C is not (yet!) my forte, so if I made an
error, please let me know.  From within the same pure environment, I
used this wrapper program to invoke mrustc in the same way, and it
_still_ succeeded.  That surprised me, since I expected it to fail.

Can you think of any other way I can try to reproduce the issue?

-- 
Chris

[-- Attachment #1.2: with_linux32_personality.c --]
[-- Type: application/octet-stream, Size: 1016 bytes --]

#include <sys/personality.h>
#include <stdio.h>
#include <unistd.h>

int main (int argc, char *argv[]) {
  // Allow at most 100 arguments.
  const int ARGS_SIZE = 102;
  // The first element of args is reserved for the target program
  // name, and the last element is reserved for the NULL pointer.
  char *args[ARGS_SIZE];
  if (argc > ARGS_SIZE) {
    // We can't fit everything into into args.
    printf("Specify 1 program name and at most %d arguments\n", ARGS_SIZE - 2);
    return 2;
  }
  printf("argc: %d\n", argc);
  printf("argv[0]: %s\n", argv[0]);
  char *target_program = argv[1];
  if (NULL == target_program) {
    puts("Specify a program to run");
    return 2;
  }
  for (int i = 0; i < ARGS_SIZE; i++) {
    args[i] = argv[i + 1];
    printf("args[%d]: %s\n", i, args[i]);
    if (NULL == args[i]) {
      break;
    }
  }
  if (personality(PER_LINUX32) == -1) {
    perror("failed to set personality");
    return 1;
  }
  puts("\n--- Executing program ---\n");
  execv(target_program, args);
}

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2019-02-16 10:53 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-28 14:39 Rust 1.19 fails to build on i686 on ‘staging’ Ludovic Courtès
2019-01-28 15:22 ` Danny Milosavljevic
2019-01-28 15:27 ` Danny Milosavljevic
2019-01-28 15:35   ` Danny Milosavljevic
2019-01-29  8:36   ` Ludovic Courtès
2019-01-30 17:59     ` Danny Milosavljevic
2019-02-05 11:28       ` Danny Milosavljevic
2019-02-05 11:35         ` Danny Milosavljevic
2019-02-11 21:34           ` Danny Milosavljevic
2019-02-12 11:47             ` Chris Marusich
2019-02-12 12:06               ` Danny Milosavljevic
2019-02-13  2:59                 ` Chris Marusich
2019-02-13  5:49                   ` Chris Marusich
2019-02-14  4:35                     ` Chris Marusich
2019-02-14 17:14                       ` Danny Milosavljevic
2019-02-15  9:11                         ` Chris Marusich
2019-02-15 10:51                           ` Danny Milosavljevic
2019-02-16 10:53                             ` Chris Marusich [this message]
2019-02-18 14:38                               ` Danny Milosavljevic
2019-05-24 13:55                                 ` Danny Milosavljevic
2019-07-19  5:53                                   ` Chris Marusich
2019-07-21 17:53                                     ` Ricardo Wurmus
2019-01-28 15:50 ` Danny Milosavljevic
2019-01-28 18:41   ` Ricardo Wurmus
2019-01-28 20:25     ` Danny Milosavljevic
2019-01-31  5:51 ` Mark H Weaver

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=87a7iwm2c5.fsf@gmail.com \
    --to=cmmarusich@gmail.com \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.