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
*** old/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java	Sat Jan 20 19:16:18 2018
--- new/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java	Sat Jan 20 19:16:18 2018

*** 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 **** --- 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) { ! 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()); ! throw new InternalError(getString(p.getErrorStream())); } } } 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(); ! String errorMessage = getString(p.getErrorStream()); ! if (errorMessage.isEmpty()) { ! errorMessage = getString(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()); ! 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