src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File open Cdiff src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java

src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java

Print this page

        

*** 42,51 **** --- 42,59 ---- String libFile() { return libraryFileName; } + private static String getString(InputStream stream) { + BufferedReader br = new BufferedReader(new InputStreamReader(stream)); + Stream<String> lines = br.lines(); + StringBuilder sb = new StringBuilder(); + lines.iterator().forEachRemaining(e -> sb.append(e)); + return sb.toString(); + } + Linker(Main main) throws Exception { this.options = main.options; String name = options.outputName; objectFileName = name; libraryFileName = name;
*** 104,136 **** // Check linker presence on platforms by printing its version if (linkerCheck != null) { Process p = Runtime.getRuntime().exec(linkerCheck); final int exitCode = p.waitFor(); if (exitCode != 0) { ! InputStream stderr = p.getErrorStream(); ! BufferedReader br = new BufferedReader(new InputStreamReader(stderr)); ! Stream<String> lines = br.lines(); ! StringBuilder sb = new StringBuilder(); ! lines.iterator().forEachRemaining(e -> sb.append(e)); ! throw new InternalError(sb.toString()); } } } void link() throws Exception { Process p = Runtime.getRuntime().exec(linkerCmd); final int exitCode = p.waitFor(); if (exitCode != 0) { ! InputStream stderr = p.getErrorStream(); ! if (stderr.read() == -1) { ! stderr = p.getInputStream(); } ! BufferedReader br = new BufferedReader(new InputStreamReader(stderr)); ! Stream<String> lines = br.lines(); ! StringBuilder sb = new StringBuilder(); ! lines.iterator().forEachRemaining(e -> sb.append(e)); ! throw new InternalError(sb.toString()); } File objFile = new File(objectFileName); if (objFile.exists()) { if (!objFile.delete()) { throw new InternalError("Failed to delete " + objectFileName + " file"); --- 112,135 ---- // Check linker presence on platforms by printing its version if (linkerCheck != null) { Process p = Runtime.getRuntime().exec(linkerCheck); final int exitCode = p.waitFor(); if (exitCode != 0) { ! throw new InternalError(getString(p.getErrorStream())); } } } void link() throws Exception { Process p = Runtime.getRuntime().exec(linkerCmd); final int exitCode = p.waitFor(); if (exitCode != 0) { ! String errorMessage = getString(p.getErrorStream()); ! if (errorMessage.isEmpty()) { ! errorMessage = getString(p.getInputStream()); } ! throw new InternalError(errorMessage); } File objFile = new File(objectFileName); if (objFile.exists()) { if (!objFile.delete()) { throw new InternalError("Failed to delete " + objectFileName + " file");
src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File