Partially Unbreak Adobe Reader 7.0.8 for the New Linux Emulator

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Wed Jan 3 12:48:51 UTC 2007


On Wed, Jan 03, 2007 at 07:47:28AM +0800, Intron is my alias on the Internet wrote:
>     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
 
this looks good. can you explain why this patch is not needed in 2.4 emulation?
I cannot imagine why this differs in 2.6 and 2.4...

does this cause the different read output I told you about?
 
>     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.

well.. the last argument is pgoff which sets an offset. I dont see anything 
particularly wrong with this. why do you think its bad?


anyway.. thnx for the patch!

roman


More information about the freebsd-hackers mailing list