abort acroread at today's -current, but OK at 03-Oct -current
Kostik Belousov
kostikbel at gmail.com
Tue Oct 6 11:04:04 UTC 2009
On Tue, Oct 06, 2009 at 12:49:09PM +0400, Boris Samorodov wrote:
> On Mon, 5 Oct 2009 22:07:10 +0300 Kostik Belousov wrote:
> > On Mon, Oct 05, 2009 at 10:46:51PM +0400, Boris Samorodov wrote:
> > >
> > > today I updated my computer from 03-Oct CURRENT to -current and
> > > some ports were updated. And have got an error:
> > > -----
> > > % acroread
> > > zsh: abort acroread
> > > % /bin/sh -x `which acroread`
> > > + echo ''
> > > + tr a-z A-Z
> > > + ADOBE_LANG=''
> > > + : ENU
> > > + BN=acroread
> > > + VN=''
> > > + [ -d /usr/local/Adobe/Reader8 ]
> > > + ADOBE_VER=8
> > > + [ -d /usr/local/Adobe/Reader9 ]
> > > + ACROBASE=Adobe/Reader8
> > > + BINPREFIX=Adobe/Reader8/bin
> > > + MOZILLA_COMP_PATH=/..//usr/local/lib/linux-nvu
> > > + export MOZILLA_COMP_PATH
> > > + GTK_IM_MODULE=xim
> > > + export GTK_IM_MODULE
> > > + UNAME_s=Linux
> > > + export UNAME_s
> > > + [ -x /usr/local/Adobe/Reader8/ENU/Adobe/Reader8/bin/acroread ]
> > > + exec /compat/linux/bin/sh /usr/local/Adobe/Reader8/ENU/Adobe/Reader8/bin/acroread
> > > zsh: abort /bin/sh -x `which acroread`
> > > -----
> > >
> > > Loading old kernel gives a working acroread. What did I miss?
> > > Thanks.
>
> > Try this.
>
> > diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
> > index 4ed7382..e958214 100644
> > --- a/sys/kern/imgact_elf.c
> > +++ b/sys/kern/imgact_elf.c
> > @@ -635,7 +635,8 @@ __elfN(load_file)(struct proc *p, const char *file, u_long *addr,
> > }
> >
> > for (i = 0, numsegs = 0; i < hdr->e_phnum; i++) {
> > - if (phdr[i].p_type == PT_LOAD) { /* Loadable segment */
> > + if (phdr[i].p_type == PT_LOAD && phdr[i].p_memsz != 0) {
> > + /* Loadable segment */
> > prot = 0;
> > if (phdr[i].p_flags & PF_X)
> > prot |= VM_PROT_EXECUTE;
> > @@ -764,6 +768,8 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
> > for (i = 0; i < hdr->e_phnum; i++) {
> > switch (phdr[i].p_type) {
> > case PT_LOAD: /* Loadable segment */
> > + if (phdr[i].p_memsz == 0)
> > + break;
> > prot = 0;
> > if (phdr[i].p_flags & PF_X)
> > prot |= VM_PROT_EXECUTE;
>
> Thanks. Unfortunately there is no changes. Acroread works only with
> security.bsd.map_at_zero=1.
I see, with the help from bz at . Do you have amd64 or i386 system ?
Anyway, please try http://people.freebsd.org/~kib/misc/pie.3.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20091006/a13b8328/attachment.pgp
More information about the freebsd-current
mailing list