Skip to content
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

Handle aarch64 defines seperate from arm #13151

Merged
merged 1 commit into from
Mar 8, 2022

Conversation

windelbouwman
Copy link
Contributor

aarch64 is a different architecture than arm. Some
compilers might choke when both arm and aarch64
are defined.

This change seperates the checks for arm and for
aarch64 in the isa_defs.h header files.

Signed-off-by: Windel Bouwman [email protected]

Motivation and Context

Description

How Has This Been Tested?

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change seperates the checks for arm and for
aarch64 in the isa_defs.h header files.

Signed-off-by: Windel Bouwman <[email protected]>
@windelbouwman
Copy link
Contributor Author

This tries to address issue #10335

@windelbouwman
Copy link
Contributor Author

Sidenote: the isa_defs.h header files look pretty similar (they are not however), maybe those files could be collapsed in a single file?

Copy link
Contributor

@behlendorf behlendorf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking a look at this, splitting up arm and aarch64 is definitely overdue. As for merging these two files I'd prefer to keep them separate at least for now. If we were going to merge them I think we'd want to see if all three could be unified.

./include/os/freebsd/spl/sys/isa_defs.h
./include/os/linux/spl/sys/isa_defs.h
./lib/libspl/include/sys/isa_defs.h

@cveilleux @c-goes if you have a chance it would be helpful if you could verify the build fix on your setup.

@behlendorf behlendorf added Status: Code Review Needed Ready for review and testing Type: Architecture Indicates an issue is specific to a single processor architecture Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Feb 25, 2022
@windelbouwman
Copy link
Contributor Author

For what it's worth, I faced this issue during the development of a bitbake recipe, which is located here:

https://gist.github.com/windelbouwman/1e3deb742c0a5ae399f876ca2eb1b0f1

@lundman
Copy link
Contributor

lundman commented Mar 4, 2022

Oh yes please, M1 arm64 has to comment out a bunch of aarch64 checks, and NEON stuff.

@behlendorf behlendorf marked this pull request as ready for review March 4, 2022 18:57
@behlendorf
Copy link
Contributor

@windelbouwman I've gone ahead and marked this draft as ready for review. It would still be nice to get some additional build testing, but this is straight forward enough I think we can proceed with merging it.

@behlendorf behlendorf merged commit 9955b9b into openzfs:master Mar 8, 2022
nicman23 pushed a commit to nicman23/zfs that referenced this pull request Aug 22, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
nicman23 pushed a commit to nicman23/zfs that referenced this pull request Aug 22, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Aug 30, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
lundman pushed a commit to openzfsonwindows/openzfs that referenced this pull request Sep 2, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
aarch64 is a different architecture than arm. Some
compilers might choke when both __arm__ and __aarch64__
are defined.

This change separates the checks for arm and for
aarch64 in the isa_defs.h header files.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Windel Bouwman <[email protected]>
Closes openzfs#10335 
Closes openzfs#13151
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested) Type: Architecture Indicates an issue is specific to a single processor architecture
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants