forked from rui314/mold
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] main from rui314:main #315
Merged
Merged
Conversation
This file contains 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
Previously, mold didn't merge sections with the same name but different section flags into a single section. This behavior is different from other linkers and caused a compatibility issue. Now, mold merges input sections by their names and types. Fixes #1196
Removes some Windows build warnings. Fixes conversion of Windows FILETIME to nsec in get_usage() used by TimerRecord.
Prior to this change, links on Windows were failing with: mold: fatal: <input file>: CreateFileMapping failed: 5 "5" is the Windows error code for ERROR_ACCESS_DENIED. Use native Windows file API in MappedFile. Create read only mapping with FILE_MAP_COPY view because the file mapping contents may be modified in process but should not be written back. On Windows, it is important that files are opened in "binary" mode to avoid automatic "text" mode conversions which can result in "corrupted" input/output.
Fixes and improvements to Windows file handling and memory mapping
Minor fixes for the Windows build
This is a "basic" implementation that does not make use of intermediate temporary files. Has been seen to improve linking performance by up to ~1.78x.
Fixes #1205
Previously, mold marked an imported symbol as a strong one if the symbol came from a DSO and was exported as a strong symbol by the DSO. This logic resulted in a miscomputation of the weakness bit, causing a compatibility issue with other linkers. Now, an imported symbol is marked as strong only when there's at least one strong reference to it. In other words, if all references to an imported symbol are weak, the symbol will be imported as a weak one. Fixes llvm/llvm-project#83080
Fixes #1208
Our ARM32 PLT is always long, so we can safely ignore the flag. Fixes #1230
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.
See Commits and Changes for more details.
Created by pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )