--- old/src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject.java 2017-07-25 15:16:12.137690856 -0400 +++ new/src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject.java 2017-07-25 15:16:10.837616100 -0400 @@ -62,6 +62,9 @@ this.binContainer = binContainer; this.pecoffContainer = new PECoffContainer(outputFileName, aotVersion); this.segmentSize = binContainer.getCodeSegmentSize(); + if (segmentSize != 64) { + System.out.println("binContainer alignment size not 64 bytes, update JPECoffRelocObject"); + } } private PECoffSection createByteSection(ArrayListsections, @@ -97,20 +100,20 @@ private void createCodeSection(ArrayListsections, CodeContainer c) { createByteSection(sections, c, IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_READ | IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_EXECUTE | - IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_16BYTES | + IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_64BYTES | IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_CODE); } private void createReadOnlySection(ArrayListsections, ReadOnlyDataContainer c) { createByteSection(sections, c, IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_READ | - IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_16BYTES | + IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_64BYTES | IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_INITIALIZED_DATA); } private void createReadWriteSection(ArrayListsections, ByteContainer c) { int scnFlags = IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_READ | IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_WRITE | - IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_8BYTES; + IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_64BYTES; if (c.getByteArray().length > 0) scnFlags |= IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_INITIALIZED_DATA;