Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Dec 2015 08:45:50 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Bruce Evans <brde@optusnet.com.au>, src-committers@freebsd.org,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r292620 - head/sys/kern
Message-ID:  <20151225083416.K1523@besplex.bde.org>
In-Reply-To: <20151224205730.GC3625@kib.kiev.ua>
References:  <201512222012.tBMKCqqg039018@repo.freebsd.org> <20151223073258.M993@besplex.bde.org> <20151224205730.GC3625@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151225083416.K1523>