svn commit: r292620 - head/sys/kern
Bruce Evans
brde at optusnet.com.au
Thu Dec 24 22:05:36 UTC 2015
On Thu, 24 Dec 2015, Konstantin Belousov wrote:
> On Wed, Dec 23, 2015 at 08:02:10AM +1100, Bruce Evans wrote:
>> On Tue, 22 Dec 2015, Konstantin Belousov wrote:
>>
>>> Log:
>>> If we annoy user with the terminal output due to failed load of
>>> interpreter, also show the actual error code instead of some
>>> interpretation.
>>
>> This and nearby messages are of annoyingly low quality. They don't
>> even print the program name(s).
>>
>> I use the following partial fixes. I forget if they print the program
>> name or the interpeter name.
>>
>> X Index: imgact_elf.c
>> X ===================================================================
>> X RCS file: /home/ncvs/src/sys/kern/imgact_elf.c,v
>> X retrieving revision 1.151
>> X diff -u -2 -r1.151 imgact_elf.c
>> X --- imgact_elf.c 5 Jun 2004 02:18:28 -0000 1.151
>> X +++ imgact_elf.c 5 Jun 2004 06:51:25 -0000
>> X @@ -694,6 +693,6 @@
>> X brand_info = __elfN(get_brandinfo)(hdr, interp);
>> X if (brand_info == NULL) {
>> X - uprintf("ELF binary type \"%u\" not known.\n",
>> X - hdr->e_ident[EI_OSABI]);
>> X + uprintf("%s: ELF binary type \"%u\" not known.\n",
>> X + imgp->stringbase, hdr->e_ident[EI_OSABI]);
> This cannot be a fix. there is no stringbase member in struct imgact.
There was in FreeBSD-5.
> In fact, there is no available path to the executable in the image activation
> routine, and due to things like fexecve(2), it may have been not passed
> to the kernel at all.
argv[0] and the string being interpreted must be known at some point.
> The present structure of the messages is forced by this fact, and it is
> usually obvious what is the image kernel complained about, since it is
> the image that was just executed.
Not if it is one of many commands in a script.
Bruce
More information about the svn-src-head
mailing list