Closed rygorous closed 3 years ago
Thanks!
What do you mean by "the parts that break git"? The instructions are supposed to just undo what "git submodule update --init" did, I don't think they break anything.
I get git fatal error messages about the submodules being in a corrupted state if I delete the .git/modules directory (moving it here to show an easy before/after):
C:\devel\libs\uiCA>move .git\modules .git\modules_
1 dir(s) moved.
C:\devel\libs\uiCA>git status
fatal: not a git repository: XED-to-XML/../.git/modules/XED-to-XML
C:\devel\libs\uiCA>move .git\modules_ .git\modules
1 dir(s) moved.
C:\devel\libs\uiCA>git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Separately, I'm not sure why you would undo the submodule init, that just makes the development workflow harder?
(There's another issue where git submodule deinit
also fails when run from setup.cmd because instructions.xml
ends up with local changes after the build process, at least for me.)
I get git fatal error messages about the submodules being in a corrupted state if I delete the .git/modules directory (moving it here to show an easy before/after):
C:\devel\libs\uiCA>move .git\modules .git\modules_ 1 dir(s) moved. C:\devel\libs\uiCA>git status fatal: not a git repository: XED-to-XML/../.git/modules/XED-to-XML C:\devel\libs\uiCA>move .git\modules_ .git\modules 1 dir(s) moved. C:\devel\libs\uiCA>git status On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits)
Do you also get this if you do this after the "git submodule deinit --all"? I only get this error message if I don't do the deinit first.
Separately, I'm not sure why you would undo the submodule init, that just makes the development workflow harder?
These instructions are mostly targeted at people that just want to use the tool and not develop it (which I assume is the majority); they don't need the several thousand files in the submodule any more after xed is built.
(There's another issue where
git submodule deinit
also fails when run from setup.cmd becauseinstructions.xml
ends up with local changes after the build process, at least for me.)
I also get this on Windows. I think it can be solved with deinit -f
.
OK, updated setup.cmd to use deinit -f
and also updated README.md
with some rough installation instructions. I assume VC++ or similar is required since XED was building C++ code with it, but I had all prerequisites installed already so I'm not actually positive what the exact requirements are.
I assume VC++ or similar is required since XED was building C++ code with it, but I had all prerequisites installed already so I'm not actually positive what the exact requirements are.
Yes, I had to install the MSVC compiler; before that I got an error message when building XED.
Regarding the IACA markers: Actually, IACA 2.1 does use the UD2 bytes. I had not noticed before that this was changed in more recent versions. Thanks for catching that!
I will update the code so that it is consistent with the recent versions.
I did not remember the IACA 2 markers were different, but if you're changing it anyway, there's yet another different version of the IACA markers for use with 64-bit VC++ which does not support any form of inline ASM but does have the __writegsbyte
intrinsic:
IACA_VC64_START which is mov byte ptr gs:[06fh], 06fh
(single instruction, byte sequence 65 c6 04 25 6f 00 00 00 6f
)
IACA_VC64_END which is mov byte ptr gs:[0deh], 0deh
(byte sequence 65 c6 04 25 de 00 00 00 de
)
Also add generated files to .gitignore.