221 return flagsGetters.stream() 222 .map(f -> f.apply(name)) 223 .filter(x -> x != null) 224 .findAny() 225 .orElse(null); 226 } 227 public native int getOffsetForName0(String name); 228 public int getOffsetForName(String name) throws Exception { 229 int offset = getOffsetForName0(name); 230 if (offset == -1) { 231 throw new RuntimeException(name + " not found"); 232 } 233 return offset; 234 } 235 236 // Class Data Sharing 237 public native boolean isSharedClass(Class<?> c); 238 239 // Returns true on linux if library has the noexecstack flag set. 240 public native boolean checkLibSpecifiesNoexecstack(String libfilename); 241 } | 221 return flagsGetters.stream() 222 .map(f -> f.apply(name)) 223 .filter(x -> x != null) 224 .findAny() 225 .orElse(null); 226 } 227 public native int getOffsetForName0(String name); 228 public int getOffsetForName(String name) throws Exception { 229 int offset = getOffsetForName0(name); 230 if (offset == -1) { 231 throw new RuntimeException(name + " not found"); 232 } 233 return offset; 234 } 235 236 // Class Data Sharing 237 public native boolean isSharedClass(Class<?> c); 238 239 // Returns true on linux if library has the noexecstack flag set. 240 public native boolean checkLibSpecifiesNoexecstack(String libfilename); 241 242 // Container testing 243 public native boolean isContainerized(); 244 public native void printOsInfo(); 245 246 } |