Commit 8282f0f
Fix an endian problem in upb that caused protoc plugins to crash on big endian platforms (#25363)
The protobuf build started failing on big endian platforms (I'm using s390x) starting with v33.0. The cmake build would fail when running `protoc` to compile test files. The errors looked like:
```bash
gmake[2]: *** [CMakeFiles/upb-test.dir/build.make:85: google/protobuf/any.upb.h] Error 1
--upb_out: protoc-gen-upb: Plugin killed by signal 11.
```
I did a git bisect and the crash started with commit c36f728. The fix is to add a `_upb_Decoder_MungeInt32(val)` call on the closed enum value so it can be decoded properly later.
I think this might fix #24103 but I'm not able to test it.
Closes #25363
COPYBARA_INTEGRATE_REVIEW=#25363 from linux-on-ibm-z:upb-decode-endian 7143834
PiperOrigin-RevId: 8653983231 parent 79bbf1d commit 8282f0f
1 file changed
+1
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
938 | 938 | | |
939 | 939 | | |
940 | 940 | | |
| 941 | + | |
941 | 942 | | |
942 | 943 | | |
943 | 944 | | |
| |||
0 commit comments