On 2016-09-06, Philippe Meunier <meun...@ccs.neu.edu> wrote:
> Theo de Raadt wrote:
>>It is probably staring you in the face.
>
> Okay, I assume this requires -current then?  I'm using 6.0-release on
> i386 and I don't see it:
>
> $ readelf -l /usr/local/jdk-1.8.0/bin/java | egrep -i wx
> $
>
> (yes, I know that java was linked with wxneeded (I get an "mprotect W^X
> violation" message in the logs when I run java), it's just an example)
>
> Philippe
>
>

Java was not linked with the wxneeded linker option in 6.0.

To run java (either on 6.0 or -current) the executables need to be on a
filesystem mounted with the wxallowed flag.

Besides readelf, you can also use 'objdump -p', binaries so annotated
will look like this:

$ objdump  -p /usr/local/chrome/chrome      

/usr/local/chrome/chrome:     file format elf64-x86-64

Program Header:
    PHDR off    0x0000000000000040 vaddr 0x0000000000000040 paddr 
0x0000000000000040 align 2**3
         filesz 0x00000000000002a0 memsz 0x00000000000002a0 flags r-x
  INTERP off    0x00000000050152ce vaddr 0x00000000051152ce paddr 
0x00000000051152ce align 2**0
         filesz 0x0000000000000013 memsz 0x0000000000000013 flags r--
    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 
0x0000000000000000 align 2**20
         filesz 0x00000000050152ce memsz 0x00000000050152ce flags r-x
    LOAD off    0x00000000050152ce vaddr 0x00000000051152ce paddr 
0x00000000051152ce align 2**20
         filesz 0x0000000002c3b706 memsz 0x0000000002c3b706 flags r--
    LOAD off    0x0000000007c510e0 vaddr 0x0000000007e510e0 paddr 
0x0000000007e510e0 align 2**20
         filesz 0x00000000004cb0a0 memsz 0x0000000000654768 flags rw-
 DYNAMIC off    0x00000000080d8938 vaddr 0x00000000082d8938 paddr 
0x00000000082d8938 align 2**3
         filesz 0x0000000000000420 memsz 0x0000000000000420 flags rw-
    NOTE off    0x00000000050152e4 vaddr 0x00000000051152e4 paddr 
0x00000000051152e4 align 2**2
         filesz 0x0000000000000018 memsz 0x0000000000000018 flags r--
EH_FRAME off    0x0000000006effa70 vaddr 0x0000000006fffa70 paddr 
0x0000000006fffa70 align 2**2
         filesz 0x00000000002818f4 memsz 0x00000000002818f4 flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 
0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
OPENBSD_WXNEEDED off    0x0000000000000000 vaddr 0x0000000000000000 paddr 
0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags --x
OPENBSD_RANDOMIZE off    0x0000000007c510e0 vaddr 0x0000000007e510e0 paddr 
0x0000000007e510e0 align 2**3
         filesz 0x0000000000000008 memsz 0x0000000000000008 flags rw-
   RELRO off    0x0000000007c510e0 vaddr 0x0000000007e510e0 paddr 
0x0000000007e510e0 align 2**4
         filesz 0x00000000004a5f18 memsz 0x00000000004a5f18 flags r--

[...snip...]

Reply via email to