NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/57515: sparc32 GCC defaults to SC memory ordering, which is not true on SPARCv8 processors
The following reply was made to PR port-sparc/57515; it has been noted by GNATS.
From: Koakuma <koachan+netbsd%protonmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: port-sparc-maintainer%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/57515: sparc32 GCC defaults to SC memory ordering, which is not true on SPARCv8 processors
Date: Sun, 09 Jul 2023 02:17:25 +0000
This is a multi-part message in MIME format.
--b1_Y36XyXGKisqLppvKhv5Ac4It4jlXa9BoMSKISUJYU7o
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Martin Husemann wrote:
> Well, I don't know about v8 and early details, but kinda assumed it
> would be similar to v9 where it is under (kernel's) software controll
> (and binaries get run with the memory model they are compiled for).
Even if it works that way, v8 and v9 does not have sequential consistency
as a supported memory model, so binaries targeted for v7 might still run
wrongly on later processors anyway.
Taylor R Campbell wrote:
> That's an option too, but I bet it could be made to work reasonably
> well with a small tweak to gcc so that NetBSD can ask for -mcpu=3Dv7
> -mmemory-model=3Dtso instead of having -mcpu=3Dv7 ignore -mmemory-model,
> if someone is willing to do the work and testing for it.
I just made this small patch that removes all the conditionals for
barrier instructions (except for `stbar` and `membar` since those are
not available in v7) and changes the default memory ordering to TSO.
Seems to get it to emit the proper barriers for me, but probably could
be done a little bit better, since I am not familiar with GCC internals.
--b1_Y36XyXGKisqLppvKhv5Ac4It4jlXa9BoMSKISUJYU7o
Content-Type: text/x-patch; name=ordering.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=ordering.patch
ZGlmZiAtLWdpdCBhL2V4dGVybmFsL2dwbDMvZ2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3BhcmMv
cHJlZGljYXRlcy5tZCBiL2V4dGVybmFsL2dwbDMvZ2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3Bh
cmMvcHJlZGljYXRlcy5tZAppbmRleCA0MjMxNmFkYzkuLmE3NDNmMWNhYSAxMDA2NDQKLS0tIGEv
ZXh0ZXJuYWwvZ3BsMy9nY2Mub2xkL2Rpc3QvZ2NjL2NvbmZpZy9zcGFyYy9wcmVkaWNhdGVzLm1k
CisrKyBiL2V4dGVybmFsL2dwbDMvZ2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3BhcmMvcHJlZGlj
YXRlcy5tZApAQCAtNzgsNiArNzgsMTEgQEAKIChkZWZpbmVfcHJlZGljYXRlICJjb25zdF9kb3Vi
bGVfb3JfdmVjdG9yX29wZXJhbmQiCiAgIChtYXRjaF9jb2RlICJjb25zdF9kb3VibGUsY29uc3Rf
dmVjdG9yIikpCiAKKzs7IFJldHVybiB0cnVlIGlmIE9QIGlzIFplcm8uCisoZGVmaW5lX3ByZWRp
Y2F0ZSAiemVyb19vcGVyYW5kIgorICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQorICAg
ICAgIChtYXRjaF90ZXN0ICJJTlRWQUwgKG9wKSA9PSAwIikpKQorCiA7OyBSZXR1cm4gdHJ1ZSBp
ZiBPUCBpcyBaZXJvLCBvciBpZiB0aGUgdGFyZ2V0IGlzIFY3LgogKGRlZmluZV9wcmVkaWNhdGUg
Inplcm9fb3Jfdjdfb3BlcmFuZCIKICAgKGFuZCAobWF0Y2hfY29kZSAiY29uc3RfaW50IikKZGlm
ZiAtLWdpdCBhL2V4dGVybmFsL2dwbDMvZ2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3BhcmMvc3Bh
cmMuYyBiL2V4dGVybmFsL2dwbDMvZ2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3BhcmMvc3BhcmMu
YwppbmRleCA3Y2ZhOWY4MDYuLmM2NDEyN2JjMSAxMDA2NDQKLS0tIGEvZXh0ZXJuYWwvZ3BsMy9n
Y2Mub2xkL2Rpc3QvZ2NjL2NvbmZpZy9zcGFyYy9zcGFyYy5jCisrKyBiL2V4dGVybmFsL2dwbDMv
Z2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3BhcmMvc3BhcmMuYwpAQCAtMjAwOSw3ICsyMDA5LDcg
QEAgc3BhcmNfb3B0aW9uX292ZXJyaWRlICh2b2lkKQogICAgICAgZWxzZSBpZiAoVEFSR0VUX1Y4
KQogCXNwYXJjX21lbW9yeV9tb2RlbCA9IFNNTV9QU087CiAgICAgICBlbHNlCi0Jc3BhcmNfbWVt
b3J5X21vZGVsID0gU01NX1NDOworCXNwYXJjX21lbW9yeV9tb2RlbCA9IFNNTV9UU087CiAgICAg
fQogCiAgIC8qIFN1cHBseSBhIGRlZmF1bHQgdmFsdWUgZm9yIGFsaWduX2Z1bmN0aW9ucy4gICov
CmRpZmYgLS1naXQgYS9leHRlcm5hbC9ncGwzL2djYy5vbGQvZGlzdC9nY2MvY29uZmlnL3NwYXJj
L3N5bmMubWQgYi9leHRlcm5hbC9ncGwzL2djYy5vbGQvZGlzdC9nY2MvY29uZmlnL3NwYXJjL3N5
bmMubWQKaW5kZXggMDk2MzcyYzA5Li5lZTg1YTY1M2MgMTAwNjQ0Ci0tLSBhL2V4dGVybmFsL2dw
bDMvZ2NjLm9sZC9kaXN0L2djYy9jb25maWcvc3BhcmMvc3luYy5tZAorKysgYi9leHRlcm5hbC9n
cGwzL2djYy5vbGQvZGlzdC9nY2MvY29uZmlnL3NwYXJjL3N5bmMubWQKQEAgLTI1LDcgKzI1LDcg
QEAKIAogKGRlZmluZV9leHBhbmQgIm1lbV90aHJlYWRfZmVuY2UiCiAgIFsobWF0Y2hfb3BlcmFu
ZDpTSSAwICJjb25zdF9pbnRfb3BlcmFuZCIpXQotICAiVEFSR0VUX1Y4IHx8IFRBUkdFVF9WOSIK
KyAgIiIKIHsKICAgZW51bSBtZW1tb2RlbCBtb2RlbCA9IChlbnVtIG1lbW1vZGVsKSBJTlRWQUwg
KG9wZXJhbmRzWzBdKTsKICAgc3BhcmNfZW1pdF9tZW1iYXJfZm9yX21vZGVsIChtb2RlbCwgMywg
Myk7CkBAIC0zNiw3ICszNiw3IEBACiAgIFsoc2V0IChtYXRjaF9kdXAgMSkKIAkodW5zcGVjOkJM
SyBbKG1hdGNoX2R1cCAxKSAobWF0Y2hfb3BlcmFuZDpTSSAwICJjb25zdF9pbnRfb3BlcmFuZCIp
XQogCQkgICAgVU5TUEVDX01FTUJBUikpXQotICAiVEFSR0VUX1Y4IHx8IFRBUkdFVF9WOSIKKyAg
IiIKIHsKICAgb3BlcmFuZHNbMV0gPSBnZW5fcnR4X01FTSAoQkxLbW9kZSwgZ2VuX3J0eF9TQ1JB
VENIIChQbW9kZSkpOwogICBNRU1fVk9MQVRJTEVfUCAob3BlcmFuZHNbMV0pID0gMTsKQEAgLTQ5
LDcgKzQ5LDcgQEAKIDs7IGlnbm9yZSBhbGwgc3VjaCBiYXJyaWVycyBvbiBTcGFyYyBWNy4KIChk
ZWZpbmVfaW5zbiAiKm1lbWJhcl9lbXB0eSIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6QkxLIDAg
IiIgIiIpCi0JKHVuc3BlYzpCTEsgWyhtYXRjaF9kdXAgMCkgKG1hdGNoX29wZXJhbmQ6U0kgMSAi
emVyb19vcl92N19vcGVyYW5kIildCisJKHVuc3BlYzpCTEsgWyhtYXRjaF9kdXAgMCkgKG1hdGNo
X29wZXJhbmQ6U0kgMSAiemVyb19vcGVyYW5kIildCiAJCSAgICBVTlNQRUNfTUVNQkFSKSldCiAg
ICIiCiAgICIiCkBAIC03Niw3ICs3Niw3IEBACiAoZGVmaW5lX2luc24gIiptZW1iYXJfc3RvcmVs
b2FkIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpCTEsgMCAiIiAiIikKIAkodW5zcGVjOkJMSyBb
KG1hdGNoX2R1cCAwKSAoY29uc3RfaW50IDIpXSBVTlNQRUNfTUVNQkFSKSldCi0gICJUQVJHRVRf
VjggJiYgIVRBUkdFVF9MRU9OMyIKKyAgIiFUQVJHRVRfVjkgJiYgIVRBUkdFVF9MRU9OMyIKICAg
Imxkc3R1Ylx0WyUlc3AtMV0sICUlZzAiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJtdWx0aSIpXSkK
IApAQCAtMjYyLDcgKzI2Miw3IEBACiAgICAobWF0Y2hfb3BlcmFuZDpTSSAxICJtZW1vcnlfb3Bl
cmFuZCIgIiIpCiAgICAobWF0Y2hfb3BlcmFuZDpTSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiIikK
ICAgIChtYXRjaF9vcGVyYW5kOlNJIDMgImNvbnN0X2ludF9vcGVyYW5kIiAiIildCi0gICIoVEFS
R0VUX1Y4IHx8IFRBUkdFVF9WOSkgJiYgIXNwYXJjX2ZpeF91dDY5OSIKKyAgIiFzcGFyY19maXhf
dXQ2OTkiCiB7CiAgIGVudW0gbWVtbW9kZWwgbW9kZWwgPSAoZW51bSBtZW1tb2RlbCkgSU5UVkFM
IChvcGVyYW5kc1szXSk7CiAKQEAgLTI3OCw3ICsyNzgsNyBAQAogCQkJICAgIFVOU1BFQ1ZfU1dB
UCkpCiAgICAoc2V0IChtYXRjaF9kdXAgMSkKIAkobWF0Y2hfb3BlcmFuZDpTSSAyICJyZWdpc3Rl
cl9vcGVyYW5kIiAiMCIpKV0KLSAgIihUQVJHRVRfVjggfHwgVEFSR0VUX1Y5KSAmJiAhc3BhcmNf
Zml4X3V0Njk5IgorICAiIXNwYXJjX2ZpeF91dDY5OSIKIHsKICAgaWYgKHNwYXJjX2ZpeF9ncjcx
MnJjKQogICAgIHJldHVybiAiLmFsaWduXHQxNlxuXHRzd2FwXHQlMSwgJTAiOwpkaWZmIC0tZ2l0
IGEvZXh0ZXJuYWwvZ3BsMy9nY2MvZGlzdC9nY2MvY29uZmlnL3NwYXJjL3ByZWRpY2F0ZXMubWQg
Yi9leHRlcm5hbC9ncGwzL2djYy9kaXN0L2djYy9jb25maWcvc3BhcmMvcHJlZGljYXRlcy5tZApp
bmRleCA0MjMxNmFkYzkuLmE3NDNmMWNhYSAxMDA2NDQKLS0tIGEvZXh0ZXJuYWwvZ3BsMy9nY2Mv
ZGlzdC9nY2MvY29uZmlnL3NwYXJjL3ByZWRpY2F0ZXMubWQKKysrIGIvZXh0ZXJuYWwvZ3BsMy9n
Y2MvZGlzdC9nY2MvY29uZmlnL3NwYXJjL3ByZWRpY2F0ZXMubWQKQEAgLTc4LDYgKzc4LDExIEBA
CiAoZGVmaW5lX3ByZWRpY2F0ZSAiY29uc3RfZG91YmxlX29yX3ZlY3Rvcl9vcGVyYW5kIgogICAo
bWF0Y2hfY29kZSAiY29uc3RfZG91YmxlLGNvbnN0X3ZlY3RvciIpKQogCis7OyBSZXR1cm4gdHJ1
ZSBpZiBPUCBpcyBaZXJvLgorKGRlZmluZV9wcmVkaWNhdGUgInplcm9fb3BlcmFuZCIKKyAgKGFu
ZCAobWF0Y2hfY29kZSAiY29uc3RfaW50IikKKyAgICAgICAobWF0Y2hfdGVzdCAiSU5UVkFMIChv
cCkgPT0gMCIpKSkKKwogOzsgUmV0dXJuIHRydWUgaWYgT1AgaXMgWmVybywgb3IgaWYgdGhlIHRh
cmdldCBpcyBWNy4KIChkZWZpbmVfcHJlZGljYXRlICJ6ZXJvX29yX3Y3X29wZXJhbmQiCiAgIChh
bmQgKG1hdGNoX2NvZGUgImNvbnN0X2ludCIpCmRpZmYgLS1naXQgYS9leHRlcm5hbC9ncGwzL2dj
Yy9kaXN0L2djYy9jb25maWcvc3BhcmMvc3BhcmMuYyBiL2V4dGVybmFsL2dwbDMvZ2NjL2Rpc3Qv
Z2NjL2NvbmZpZy9zcGFyYy9zcGFyYy5jCmluZGV4IDdjZmE5ZjgwNi4uYzFkODlkOGRmIDEwMDY0
NAotLS0gYS9leHRlcm5hbC9ncGwzL2djYy9kaXN0L2djYy9jb25maWcvc3BhcmMvc3BhcmMuYwor
KysgYi9leHRlcm5hbC9ncGwzL2djYy9kaXN0L2djYy9jb25maWcvc3BhcmMvc3BhcmMuYwpAQCAt
MjAwOSw5ICsyMDA5LDkgQEAgc3BhcmNfb3B0aW9uX292ZXJyaWRlICh2b2lkKQogICAgICAgZWxz
ZSBpZiAoVEFSR0VUX1Y4KQogCXNwYXJjX21lbW9yeV9tb2RlbCA9IFNNTV9QU087CiAgICAgICBl
bHNlCi0Jc3BhcmNfbWVtb3J5X21vZGVsID0gU01NX1NDOworCXNwYXJjX21lbW9yeV9tb2RlbCA9
IFNNTV9UU087CiAgICAgfQotCisgIGFib3J0KCk7CiAgIC8qIFN1cHBseSBhIGRlZmF1bHQgdmFs
dWUgZm9yIGFsaWduX2Z1bmN0aW9ucy4gICovCiAgIGlmIChmbGFnX2FsaWduX2Z1bmN0aW9ucyAm
JiAhc3RyX2FsaWduX2Z1bmN0aW9ucykKICAgICB7CmRpZmYgLS1naXQgYS9leHRlcm5hbC9ncGwz
L2djYy9kaXN0L2djYy9jb25maWcvc3BhcmMvc3luYy5tZCBiL2V4dGVybmFsL2dwbDMvZ2NjL2Rp
c3QvZ2NjL2NvbmZpZy9zcGFyYy9zeW5jLm1kCmluZGV4IDA5NjM3MmMwOS4uOTdjODNmOGY3IDEw
MDY0NAotLS0gYS9leHRlcm5hbC9ncGwzL2djYy9kaXN0L2djYy9jb25maWcvc3BhcmMvc3luYy5t
ZAorKysgYi9leHRlcm5hbC9ncGwzL2djYy9kaXN0L2djYy9jb25maWcvc3BhcmMvc3luYy5tZApA
QCAtMjUsNyArMjUsNyBAQAogCiAoZGVmaW5lX2V4cGFuZCAibWVtX3RocmVhZF9mZW5jZSIKICAg
WyhtYXRjaF9vcGVyYW5kOlNJIDAgImNvbnN0X2ludF9vcGVyYW5kIildCi0gICJUQVJHRVRfVjgg
fHwgVEFSR0VUX1Y5IgorICAiIgogewogICBlbnVtIG1lbW1vZGVsIG1vZGVsID0gKGVudW0gbWVt
bW9kZWwpIElOVFZBTCAob3BlcmFuZHNbMF0pOwogICBzcGFyY19lbWl0X21lbWJhcl9mb3JfbW9k
ZWwgKG1vZGVsLCAzLCAzKTsKQEAgLTM2LDcgKzM2LDcgQEAKICAgWyhzZXQgKG1hdGNoX2R1cCAx
KQogCSh1bnNwZWM6QkxLIFsobWF0Y2hfZHVwIDEpIChtYXRjaF9vcGVyYW5kOlNJIDAgImNvbnN0
X2ludF9vcGVyYW5kIildCiAJCSAgICBVTlNQRUNfTUVNQkFSKSldCi0gICJUQVJHRVRfVjggfHwg
VEFSR0VUX1Y5IgorICAiIgogewogICBvcGVyYW5kc1sxXSA9IGdlbl9ydHhfTUVNIChCTEttb2Rl
LCBnZW5fcnR4X1NDUkFUQ0ggKFBtb2RlKSk7CiAgIE1FTV9WT0xBVElMRV9QIChvcGVyYW5kc1sx
XSkgPSAxOwpAQCAtNDksNyArNDksNyBAQAogOzsgaWdub3JlIGFsbCBzdWNoIGJhcnJpZXJzIG9u
IFNwYXJjIFY3LgogKGRlZmluZV9pbnNuICIqbWVtYmFyX2VtcHR5IgogICBbKHNldCAobWF0Y2hf
b3BlcmFuZDpCTEsgMCAiIiAiIikKLQkodW5zcGVjOkJMSyBbKG1hdGNoX2R1cCAwKSAobWF0Y2hf
b3BlcmFuZDpTSSAxICJ6ZXJvX29yX3Y3X29wZXJhbmQiKV0KKwkodW5zcGVjOkJMSyBbKG1hdGNo
X2R1cCAwKSAobWF0Y2hfb3BlcmFuZDpTSSAxICJ6ZXJvX29wZXJhbmQiKV0KIAkJICAgIFVOU1BF
Q19NRU1CQVIpKV0KICAgIiIKICAgIiIKQEAgLTcyLDExICs3MiwxMSBAQAogICAic3RiXHQlJWcw
LCBbJSVzcC0xXSIKICAgWyhzZXRfYXR0ciAidHlwZSIgInN0b3JlIildKQogCi07OyBGb3IgVjgs
IExEU1RVQiBoYXMgdGhlIGVmZmVjdCBvZiBtZW1iYXIgI1N0b3JlTG9hZC4KKzs7IEZvciBWNy9W
OCwgTERTVFVCIGhhcyB0aGUgZWZmZWN0IG9mIG1lbWJhciAjU3RvcmVMb2FkLgogKGRlZmluZV9p
bnNuICIqbWVtYmFyX3N0b3JlbG9hZCIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6QkxLIDAgIiIg
IiIpCiAJKHVuc3BlYzpCTEsgWyhtYXRjaF9kdXAgMCkgKGNvbnN0X2ludCAyKV0gVU5TUEVDX01F
TUJBUikpXQotICAiVEFSR0VUX1Y4ICYmICFUQVJHRVRfTEVPTjMiCisgICIhVEFSR0VUX1Y5ICYm
ICFUQVJHRVRfTEVPTjMiCiAgICJsZHN0dWJcdFslJXNwLTFdLCAlJWcwIgogICBbKHNldF9hdHRy
ICJ0eXBlIiAibXVsdGkiKV0pCiAKQEAgLTI2Miw3ICsyNjIsNyBAQAogICAgKG1hdGNoX29wZXJh
bmQ6U0kgMSAibWVtb3J5X29wZXJhbmQiICIiKQogICAgKG1hdGNoX29wZXJhbmQ6U0kgMiAicmVn
aXN0ZXJfb3BlcmFuZCIgIiIpCiAgICAobWF0Y2hfb3BlcmFuZDpTSSAzICJjb25zdF9pbnRfb3Bl
cmFuZCIgIiIpXQotICAiKFRBUkdFVF9WOCB8fCBUQVJHRVRfVjkpICYmICFzcGFyY19maXhfdXQ2
OTkiCisgICIhc3BhcmNfZml4X3V0Njk5IgogewogICBlbnVtIG1lbW1vZGVsIG1vZGVsID0gKGVu
dW0gbWVtbW9kZWwpIElOVFZBTCAob3BlcmFuZHNbM10pOwogCkBAIC0yNzgsNyArMjc4LDcgQEAK
IAkJCSAgICBVTlNQRUNWX1NXQVApKQogICAgKHNldCAobWF0Y2hfZHVwIDEpCiAJKG1hdGNoX29w
ZXJhbmQ6U0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIjAiKSldCi0gICIoVEFSR0VUX1Y4IHx8IFRB
UkdFVF9WOSkgJiYgIXNwYXJjX2ZpeF91dDY5OSIKKyAgIiFzcGFyY19maXhfdXQ2OTkiCiB7CiAg
IGlmIChzcGFyY19maXhfZ3I3MTJyYykKICAgICByZXR1cm4gIi5hbGlnblx0MTZcblx0c3dhcFx0
JTEsICUwIjsK
--b1_Y36XyXGKisqLppvKhv5Ac4It4jlXa9BoMSKISUJYU7o--
Home |
Main Index |
Thread Index |
Old Index