-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Update core wasm32 typedefs to be compatible with reference-sysroot. #7799
Closed
sunfishcode
wants to merge
16
commits into
emscripten-core:master
from
sunfishcode:match-reference-sysroot
Closed
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
096d42c
Update core wasm32 typedefs to be compatible with reference-sysroot.
sunfishcode 4c346c2
Update alltypes.h to match reference-sysroot types too.
sunfishcode 284e8df
Update library_syscall.js and struct stat.
sunfishcode e2cdae4
Fix the return type for lseek.
sunfishcode d6aa926
Fix the endianness of the offset argument in llseek.
sunfishcode e13514c
Update the expected numbers for test_binaryen_metadce.
sunfishcode 6b6543d
Add a comment about the new stat layout.
sunfishcode 97724d7
Fix time functions for 64-bit `time_t`.
sunfishcode 79ad217
Update the python.bc for 64-bit off_t.
sunfishcode 598e134
Update `_Reg` in alltypes.h too.
sunfishcode cb8966f
Fix the off_t argument in mmap2.
sunfishcode fc74ca4
Use l, h instead of lo, hi.
sunfishcode 5c857bf
Rename get64hilo to get64reversed.
sunfishcode 30ff717
Simplify assert conditions.
sunfishcode 073d256
Revert the changes to mmap2 calls.
sunfishcode 3476268
Update more references to tv_sec and tv_usec to be 64-bit.
sunfishcode File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
"1.38.21" | ||
"1.38.22" | ||
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
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
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,26 @@ | ||
/* copied from kernel definition, but with padding replaced | ||
* by the corresponding correctly-sized userspace types. */ | ||
|
||
/* | ||
* This definition happens to match the x32 and x86-64 stat layouts. | ||
* Direct compatibility with them isn't essential, but they are good | ||
* examples to follow. Note that there's no implicit padding, and | ||
* there's room for future expansion. | ||
*/ | ||
struct stat | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, it's the x32 linux ABI. I've now added a comment. |
||
{ | ||
dev_t st_dev; | ||
int __st_dev_padding; | ||
long __st_ino_truncated; | ||
mode_t st_mode; | ||
ino_t st_ino; | ||
nlink_t st_nlink; | ||
|
||
mode_t st_mode; | ||
uid_t st_uid; | ||
gid_t st_gid; | ||
unsigned int __pad0; | ||
dev_t st_rdev; | ||
int __st_rdev_padding; | ||
off_t st_size; | ||
blksize_t st_blksize; | ||
blkcnt_t st_blocks; | ||
|
||
struct timespec st_atim; | ||
struct timespec st_mtim; | ||
struct timespec st_ctim; | ||
ino_t st_ino; | ||
long long __unused[3]; | ||
}; |
Binary file not shown.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of bumping minor version, we should bump to
1.39.0
, because this is a breaking ABI change. (like we did in #5916 (comment))There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not opposed to that, but I don't think we have a strict rule here - even minor version number updates can break ABI, e.g. with an LLVM update. I did agree in the linked issue that we should do a major one because it was a large change, and because it could be particularly confusing and error-prone, but in this PR here the change is minor (unless I'm missing something), so I don't feel strongly either way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, I think this is worth bumping to 1.39
I don't recall whether we came to a strict rule but I hope we can eventually (soon) get to the point where we can have a strict rule of bumping the minor for ABI breaks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. Then we should land this with a minor version, wait to see we are reasonably stable, then bump the major version, as documented here: https://github.com/kripken/emscripten/blob/incoming/docs/process.md#major-version-update-1xy-to-1x10