src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject.java

src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject.java

Print this page

        

*** 60,69 **** --- 60,72 ---- public JPECoffRelocObject(BinaryContainer binContainer, String outputFileName, String aotVersion) { 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(ArrayList<PECoffSection>sections, String sectName, byte [] scnData,
*** 95,118 **** } private void createCodeSection(ArrayList<PECoffSection>sections, 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_CNT_CODE); } private void createReadOnlySection(ArrayList<PECoffSection>sections, ReadOnlyDataContainer c) { createByteSection(sections, c, IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_READ | ! IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_16BYTES | IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_INITIALIZED_DATA); } private void createReadWriteSection(ArrayList<PECoffSection>sections, 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; if (c.getByteArray().length > 0) scnFlags |= IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_INITIALIZED_DATA; else scnFlags |= IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_UNINITIALIZED_DATA; --- 98,121 ---- } private void createCodeSection(ArrayList<PECoffSection>sections, 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_64BYTES | IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_CODE); } private void createReadOnlySection(ArrayList<PECoffSection>sections, ReadOnlyDataContainer c) { createByteSection(sections, c, IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_READ | ! IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_64BYTES | IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_INITIALIZED_DATA); } private void createReadWriteSection(ArrayList<PECoffSection>sections, ByteContainer c) { int scnFlags = IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_READ | IMAGE_SECTION_HEADER.IMAGE_SCN_MEM_WRITE | ! IMAGE_SECTION_HEADER.IMAGE_SCN_ALIGN_64BYTES; if (c.getByteArray().length > 0) scnFlags |= IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_INITIALIZED_DATA; else scnFlags |= IMAGE_SECTION_HEADER.IMAGE_SCN_CNT_UNINITIALIZED_DATA;
src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File