iinc_w instruction and hsdis build instructions ...
David Holmes
david.holmes at oracle.com
Sun Jan 11 23:20:50 UTC 2015
On 10/01/2015 9:50 AM, kedar mhaswade wrote:
> Hello JVM developers!
> I hope I am posting to the right mailing list, if not, please let me know
> where I should direct these two questions.
>
> 1) When generating the bytecode by javac-7 and javac-8, I see iinc_w
> instruction (and javap shows subtle differences in disassembly on the same
> java class file). I don't find a direct reference to this instruction at:
> http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.
Javac questions should be asked on compiler-dev at openjdk.java.net.
But I think iinc_w is just a mnemonic for using iinc+wide as per the
docs you reference:
"The iinc opcode can be used in conjunction with the wide instruction
(§wide) to access a local variable using a two-byte unsigned index and
to increment it by a two-byte immediate signed value. "
> Where should I be looking for the documentation?
>
> 2) I want to build hsdis on Ubuntu 14.04. I have tried with a bunch of
> binutils versions, but it fails rather obscurely [1]. Are there any
> instructions for a successful build on Ubuntu/Debian?
Right list for this one but I don't have an answer sorry.
David
> Thanks!
> -Kedar
>
> 1- /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
> -I/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd
> -I. -I.
> -I/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd
> -I/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/../include
> -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -fPIC -O -c
> -o elf64-x86-64.lo
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c
> libtool: compile: gcc -DHAVE_CONFIG_H -I.
> -I/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd
> -I. -I.
> -I/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd
> -I/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/../include
> -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -fPIC -O -c
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c
> -o elf64-x86-64.o
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:
> In function 'elf64_x86_64_relocate_section':
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:2394:16:
> error: variable 'warned' set but not used [-Werror=unused-but-set-variable]
> bfd_boolean warned;
> ^
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:2870:29:
> error: variable 'type2' set but not used [-Werror=unused-but-set-variable]
> unsigned int val, type, type2;
> ^
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:3116:29:
> error: variable 'type2' set but not used [-Werror=unused-but-set-variable]
> unsigned int val, type, type2;
> ^
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:3116:23:
> error: variable 'type' set but not used [-Werror=unused-but-set-variable]
> unsigned int val, type, type2;
> ^
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:3116:18:
> error: variable 'val' set but not used [-Werror=unused-but-set-variable]
> unsigned int val, type, type2;
> ^
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:3147:23:
> error: variable 'type' set but not used [-Werror=unused-but-set-variable]
> unsigned int val, type;
> ^
> /media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/binutils-2.19.1/bfd/elf64-x86-64.c:3147:18:
> error: variable 'val' set but not used [-Werror=unused-but-set-variable]
> unsigned int val, type;
> ^
> cc1: all warnings being treated as errors
> make[4]: *** [elf64-x86-64.lo] Error 1
> make[4]: Leaving directory
> `/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/build/linux-amd64/bfd'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/build/linux-amd64/bfd'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/build/linux-amd64/bfd'
> make[1]: *** [all-bfd] Error 2
> make[1]: Leaving directory
> `/media/kedar/2tb1/Projects/hsdis/openjdk/hotspot/src/share/tools/hsdis/build/linux-amd64'
> make: *** [build/linux-amd64/bfd/libbfd.a] Error 2
>
More information about the hotspot-dev
mailing list