On Wed, 2012-01-04 at 21:44 +0000, Svante R Signell wrote: > Samuel, > > I'm replying with M$ webmail, therefore the top posting, sorry for that. My > main mailer is currently broken. > > Regarding the execve stuff, where can I find the bug and the patch to these > problems?
Found the email discussion on the bug-hurd mailing list from May-June 2010. > Svante Signell, le Wed 04 Jan 2012 16:44:20 +0100, a écrit : > > #!/bin/sh > > IXBIN=/home/srs/DEBs/icon/debugging_icon/iconx > > IXLCL=`echo $0 | sed 's=[^/]*$=iconx='` > > Ah, the executed thing is a shell script, not a binary. Ok, it's really > the same issue as Emilio was fixing some time ago, and reduces to this: > > test.c: > int main(int argc, char *argv[]) { > char *t[] = {"test.sh", NULL}; > execv("test.sh", t); > perror("execve"); > return 0; > } > > test.sh: > #!/bin/sh > echo I'm $0 > > test.sh gets /dev/fd/3, which is not helpful for the IXLCL computation > above. Some questions related to the above: 1) I understand that if Emilos patches introducing a new RPC would be ABI and API changes for all architectures there would be a problem, are they really? 2) How come execve calls a shell script works with . in PATH? 3) How come other architectures don't have this problem, and only Hurd has?