diff --git a/Ghidra/Features/SystemEmulation/build.gradle b/Ghidra/Features/SystemEmulation/build.gradle index 79814fad40..d479db7895 100644 --- a/Ghidra/Features/SystemEmulation/build.gradle +++ b/Ghidra/Features/SystemEmulation/build.gradle @@ -17,6 +17,7 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle" apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle" apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle" apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle" +apply from: "${rootProject.projectDir}/gradle/javadoc.gradle" apply plugin: 'eclipse' eclipse.project.name = 'Features SystemEmulation' diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/sys/EmuSyscallLibrary.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/sys/EmuSyscallLibrary.java index a4c0dacd94..d2ae18e8a1 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/sys/EmuSyscallLibrary.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/sys/EmuSyscallLibrary.java @@ -37,12 +37,13 @@ import ghidra.program.model.symbol.*; * *

* A system call library is a collection of p-code executable routines, invoked by a system call - * dispatcher. That dispatcher is represented by {@link #syscall(PcodeExecutor)}, and is exported as - * a sleigh userop. If this interface is "mixed in" with {@link AnnotatedPcodeUseropLibrary}, that - * userop is automatically included in the userop library. The simplest means of implementing a - * syscall library is probably via {@link AnnotatedEmuSyscallUseropLibrary}. It implements this - * interface and extends {@link AnnotatedPcodeUseropLibrary}. In addition, it provides its own - * annotation system for exporting userops as system calls. + * dispatcher. That dispatcher is represented by + * {@link #syscall(PcodeExecutor, PcodeUseropLibrary)}, and is exported as a sleigh userop. If this + * interface is "mixed in" with {@link AnnotatedPcodeUseropLibrary}, that userop is automatically + * included in the userop library. The simplest means of implementing a syscall library is probably + * via {@link AnnotatedEmuSyscallUseropLibrary}. It implements this interface and extends + * {@link AnnotatedPcodeUseropLibrary}. In addition, it provides its own annotation system for + * exporting userops as system calls. * * @param the type of data processed by the system calls, typically {@code byte[]} */ @@ -141,7 +142,8 @@ public interface EmuSyscallLibrary extends PcodeUseropLibrary { } /** - * The {@link EmuSyscallLibrary#syscall(PcodeExecutor)} method wrapped as a userop definition + * The {@link EmuSyscallLibrary#syscall(PcodeExecutor, PcodeUseropLibrary)} method wrapped as a + * userop definition * * @param the type of data processed by the userop, typically {@code byte[]} */ @@ -207,8 +209,8 @@ public interface EmuSyscallLibrary extends PcodeUseropLibrary { * database. Until then, we require system-specific implementations. * * @param state the executor's state - * @param the reason for reading state, probably {@link Reason#EXECUTE}, but should be taken - * from the executor + * @param reason the reason for reading state, probably {@link Reason#EXECUTE_READ}, but should + * be taken from the executor * @return the system call number */ long readSyscallNumber(PcodeExecutorState state, Reason reason); @@ -233,7 +235,7 @@ public interface EmuSyscallLibrary extends PcodeUseropLibrary { *

* The executor's state must already be prepared according to the relevant system calling * conventions. This will determine the system call number, according to - * {@link #readSyscallNumber(PcodeExecutorStatePiece)}, retrieve the relevant system call + * {@link #readSyscallNumber(PcodeExecutorState, Reason)}, retrieve the relevant system call * definition, and invoke it. * * @param executor the executor diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixFile.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixFile.java index 55a518e35e..bc34cfa28f 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixFile.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixFile.java @@ -42,7 +42,7 @@ public abstract class AbstractEmuUnixFile implements EmuUnixFile { * TODO: Technically, a file can be hardlinked to several pathnames, but for simplicity, or for * diagnostics, we let the file know its own original name. * - * @see AbstractEmuUnixFileSystem#newFile(String) + * @see AbstractEmuUnixFileSystem#newFile(String, int) * @param pathname the pathname of the file * @param mode the mode of the file */ diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixSyscallUseropLibrary.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixSyscallUseropLibrary.java index 08055867ad..de8c7d2139 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixSyscallUseropLibrary.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractEmuUnixSyscallUseropLibrary.java @@ -347,7 +347,6 @@ public abstract class AbstractEmuUnixSyscallUseropLibrary * This just throws an exception, which the overall simulator or script should catch. * * @param status the status code - * @return never * @throws EmuProcessExitedException always */ @PcodeUserop diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractStreamEmuUnixFileHandle.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractStreamEmuUnixFileHandle.java index 94648df1f8..5a31cd13d8 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractStreamEmuUnixFileHandle.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/AbstractStreamEmuUnixFileHandle.java @@ -35,7 +35,7 @@ public abstract class AbstractStreamEmuUnixFileHandle implements EmuUnixFileD /** * Construct a new handle * - * @see AbstractEmuUnixSyscallUseropLibrary#createHandle(int, EmuUnixFile, int) + * @see AbstractEmuUnixSyscallUseropLibrary#createHandle(EmuUnixFile, int) * @param machine the machine emulating the hardware * @param cSpec the ABI of the target platform */ diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/DefaultEmuUnixFileHandle.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/DefaultEmuUnixFileHandle.java index c84778cdf2..1cfbea0121 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/DefaultEmuUnixFileHandle.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/DefaultEmuUnixFileHandle.java @@ -43,7 +43,7 @@ public class DefaultEmuUnixFileHandle implements EmuUnixFileDescriptor { /** * Construct a new handle on the given file * - * @see AbstractEmuUnixSyscallUseropLibrary#createHandle(int, EmuUnixFile, int) + * @see AbstractEmuUnixSyscallUseropLibrary#createHandle(EmuUnixFile, int) * @param machine the machine emulating the hardware * @param cSpec the ABI of the target platform * @param file the file opened by this handle diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/EmuUnixFileSystem.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/EmuUnixFileSystem.java index 8115f7a257..3cb5c97843 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/EmuUnixFileSystem.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/EmuUnixFileSystem.java @@ -90,7 +90,7 @@ public interface EmuUnixFileSystem { * A factory for constructing a new file (without adding it to the file system) * * @param pathname the path of the file - * @param the mode of the new file + * @param mode the mode of the new file * @return the new file * @throws EmuIOException if the file cannot be constructed */ diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/IOStreamEmuUnixFileHandle.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/IOStreamEmuUnixFileHandle.java index 281f46233e..43c03a2f4a 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/IOStreamEmuUnixFileHandle.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/unix/IOStreamEmuUnixFileHandle.java @@ -76,7 +76,6 @@ public class IOStreamEmuUnixFileHandle extends AbstractStreamEmuUnixFileHandle machine, CompilerSpec cSpec, InputStream input, OutputStream output) { diff --git a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/struct/StructuredSleigh.java b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/struct/StructuredSleigh.java index 7882a48ffb..ce6f26b715 100644 --- a/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/struct/StructuredSleigh.java +++ b/Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/struct/StructuredSleigh.java @@ -1574,7 +1574,7 @@ public class StructuredSleigh { * *

 	 * Var arr = lang("r0", "/int *");
-	 * for (int i = 1; i < 16; i++) {
+	 * for (int i = 1; i < 16; i++) {
 	 * 	arr.index(i).deref().set(arr.index(0).deref());
 	 * }
 	 * 
@@ -1904,8 +1904,7 @@ public class StructuredSleigh { * *

* The default is to log a warning and continue. If permitted to continue, the resulting type - * will be {@code void}, likely resulting in more issues. See - * {@link #computeDerefType(DataType)}. + * will be {@code void}, likely resulting in more issues. See {@link #computeDerefType(RVal)}. * * @param addr the value being dereferenced */