Open
Conversation
1- It will not successfully compile under 64-bit architecture if the `-m32` is not added. I guess (not sure though) the reason is a change in GCC where they [no longer allowed 32-bit absolute addressing](https://stackoverflow.com/questions/43367427/32-bit-absolute-addresses-no-longer-allowed-in-x86-64-linux#) on Linux x86_64. Also, One needs to install `gcc-multilib` and `g++-multilib` packages before-head, because the 32-bit version of libgcc [isn't available on the 64-bit gcc](https://stackoverflow.com/questions/34219248/usr-bin-ld-cannot-find-lgcc-error-in-the-linkage-of-assembly). This might also need to be added in the LaTex version of book, sections 1.4.4 and 1.4.5 2- One more thing, assembling the `asm_io.asm` was not mentioned in section 1.4.3, although it is necessary, and it has a caveat where one needs to add the inline macro `-d ELF_TYPE`, this would only be noticed when reading the comments of the `asm_io.asm` file. For a beginner, and for his/her first code. this will hinder a bit, and distract the learner on a quest on the web trying to find a solutions.
Owner
|
Thanks for your pull request, but this is not the correct fix (or at least an incomplete one). There's a Linux Makefile that builds everything (with the -m32 flag). That is probably what needs to be documented. You're right that it would be a good idea to specify how to set up the 32-bit environment on a 64-bit system. The Makefile will also build the asm_io object file. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1- It will not successfully compile under 64-bit architecture if the
-m32is not added. I guess (not sure though) the reason is a change in GCC where they are no longer allowing 32-bit absolute addressing on Linux x86_64. Also, One needs to installgcc-multilibandg++-multilibpackages before-head, because the 32-bit version of libgcc isn't available on the 64-bit gcc. This might also need to be added in the LaTex version of book, sections 1.4.4 and 1.4.52- One more thing, assembling the
asm_io.asmwas not mentioned in section 1.4.3, although it is necessary, and it has a caveat where one needs to add the inline macro-d ELF_TYPE, this would only be noticed when reading the comments of theasm_io.asmfile. For a beginner, and for his/her first code. this will hinder a bit, and distract the learner on a quest on the web trying to find a solutions.