Re: [PATCH 1/5] exec: remove support for transparently unbzip2ing executables
Justus Winter, le Thu 29 Aug 2013 13:06:03 +0200, a écrit :
> Umm, I just tested this, and it doesn't work :/ I guess b/c storeio
> claims that it is a character device:
> % ls -l /tmp/hello.unzipped
> crwxr-xr-x 1 teythoon teythoon 0, 0 Aug 29 13:01 /tmp/hello.unzipped
Character device? That should be a block device, rather.
€ gzip true
€ settrans -c true /hurd/storeio -T gunzip true.gz
€ ls -l true
brwxr-xr-x 1 samy samy 0, 0 août 29 11:10 true
> % /tmp/hello.unzipped
> zsh: permission denied: /tmp/hello.unzipped
Same here
€ ./true
-bash: ./true: Permission denied
> % /lib/ld.so.1 /tmp/hello.unzipped
> /tmp/hello.unzipped: Must be started as a translator
Different here
€ /lib/ld.so.1 ./true
./true: error while loading shared libraries: ./true: cannot open shared object file: Error 1073741833
which is EBADF, ugh?
€ rpctrace /lib/ld.so.1 ./true
task61(pid3208)->vm_statistics () = 0 {4096 358906 7824 56830 5887 551652 0 67190 27884 2945779 369071 386018 382564}
task61(pid3208)->vm_region (134217728) = 0x3 ((os/kern) no space available)
task61(pid3208)->vm_map (0 4096 0 0 (null) 0 1 0 0 1) = 0 0
task61(pid3208)->task_get_special_port (4) = 0 68<--65(pid3208)
68<--65(pid3208)->exec_startup_get_info () = 0 9456 4148 224 172032 16777216 0 "/lib/ld.so.1" "MANPATH=/home/samy/ens/projet/1/mielke-svn/brltty/Documents::/usr/lib/bitkeeper/" { 22<--69(pid3208) 24<--71(pid3208) 25<--72(pid3208)} { 46<--73(pid3208) 26<--74(pid3208) 23<--75(pid3208) 70<--76(pid3208) 11<--77(pid3208) (null)} {18 0 0 0 0}
task61(pid3208)->mach_port_deallocate (pn{ 3}) = 0
task61(pid3208)->vm_deallocate (0 0) = 0
46<--73(pid3208)->dir_lookup ("./true" 1 0) = 0x40000009 (Bad file descriptor)
25<--72(pid3208)->io_write_request ("./true: error while loading shared libraries: ./true: cannot open shared object " -1)./true: error while loading shared libraries: ./true: cannot open shared object file: Error 1073741833
= 0 103
70<--76(pid3208)->proc_mark_exit_request (32512 0) = 0
task61(pid3208)->task_terminate () = 0
Samuel
Reply to: