Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
Total 1 files
■ ■ ■ ■ ■ ■
README.md
skipped 91 lines
92
92
93
93
Due to the way Go packages work, we needed to remove the `/internal` path from the source file tree. This resulted in a lot of copying of internal Go files, where the directory tree is mostly intact but with small changes to many files' imports: references to `/internal` paths were replaced with `github.com/mandiant/GoReSym/`.
94
94
95
-
We also modified many internal structures to export fields and method. These are not exported by upstreamGo because users should not rely upon them;however, the purpose of this tool to extract internal information, so we're taking on the task of maintaining these structures. Its not a great situation, but it's not easily avoidable.
96
-
97
-
Beyond the trivial changes, new logic exists in `/objfile`. For example, the file `objfile/internals` defines the reversed internal Go structures that GoReSym parses. If you update this repository, you must take care to keep these modifications intact. Its probably better to manually merge in commits from upstream rather than copying upstream files wholesale.
95
+
We also modified many internal structures to export fields and methods. These are not exported by Goupstream because users should not rely upon them.However, the purpose of this toolis to extract internal information, so we're taking on the task of maintaining these structures. Its not a great situation, but it's not easily avoidable. Ifyouupdatethisrepository,youmusttakecaretokeepthesemodificationsintact.Itsprobablybettertomanuallymergeincommitsfromupstreamratherthancopyingupstreamfileswholesale.
98
96
99
97
I am open to suggestions on how to better structure this project to avoid these issues while still compiling with the typical `go build`. There is a previous discussion involving Go maintainers [here](https://github.com/golang/go/issues/46792).
98
+
99
+
Ignoring some trivial changes, most new logic exists in `/objfile`. For example, the file `objfile/internals` defines the reversed internal Go structures that GoReSym parses.