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