Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Jan 2007 07:47:28 +0800
From:      "Intron is my alias on the Internet" <intron@intron.ac>
To:        freebsd-hackers@freebsd.org
Subject:   Partially Unbreak Adobe Reader 7.0.8 for the New Linux Emulator
Message-ID:  <courier.459AEF10.00006EA6@intron.ac>

next in thread | raw e-mail | index | archive | help
     My patch for /sys/compat/linux/linux_file.c (7.0-CURRENT) can
partially unbreak Adobe Reader 7.0.8 for Linux when the sysctl
compat.linux.osrelease is set to "2.6.16". You may download the patch
at:

  http://ftp.intron.ac/tmp/linux_file.c.diff

     But probably to your disappointment, the problem hasn't been
completely solved yet. Even after you have applied my patch (Don't
forget to set compat.linux.osrelease to "2.6.16"), you must remove
the directory ~/.adobe before you start Adobe Reader 7.0.8 every time,
otherwise the PDF file cannot be properly browsed.

     I have noticed that the calling behavior against the Linux
system call mmap2(2) is strange:

1658: linux_mmap2(0x0,0x8974,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)
1658: linux_mmap2(0x0,0x8fd8,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)
1658: linux_mmap2(0x0,0x8974,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)
1658: linux_mmap2(0x0,0x1000,0x3,0x22,0xffffffff,0x6) = 790069248 (0x2f178000)
1658: linux_mmap2(0x0,0x1000,0x3,0x22,0xffffffff,0x6) = 790069248 (0x2f178000)
1658: linux_mmap2(0x0,0x8fd8,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)
1658: linux_mmap2(0x0,0x8974,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)
1658: linux_mmap2(0x0,0x8a78,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)
1658: linux_mmap2(0x0,0x8974,0x1,0x1,0x0,0x6)   = 790032384 (0x2f16f000)

The last calling argument is always stupid 6, which doesn't agree with
the calling behavior against mmap(2) when compat.linux.osrelease is set
to 2.4.2. This probably means that all files mapped by mmap2(2) cannot be
properly read from memory space.

Screenshots:

Normal cases:
1. FreeBSD Handbook, Chinese version:
  (This PDF file is much more complicated than the English one)
  http://ftp.intron.ac/tmp/adobereader-20070103-1.png
2. The manual page ls(1), produced by groff(1) + GhostScript:
  http://ftp.intron.ac/tmp/adobereader-20070103-2.png

Abnormal case: Failed to remove ~/.adobe
  http://ftp.intron.ac/tmp/adobereader-20070103-3.png

------------------------------------------------------------------------
                                                From Beijing, China




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?courier.459AEF10.00006EA6>