mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
Merge pull request #9685 from heitbaum/libnfs
libnfs: socket: use void cast to allow compile for arm32
This commit is contained in:
commit
a0952a4cb7
@ -0,0 +1,62 @@
|
|||||||
|
From a01d42a0d9682d3e506d3c78680db8c7d158fe88 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rudi Heitbaum <rudi@heitbaum.com>
|
||||||
|
Date: Tue, 14 Jan 2025 14:09:36 +0000
|
||||||
|
Subject: [PATCH] socket: use void cast to allow compile for arm32
|
||||||
|
|
||||||
|
When compiling for arm32 the error: cast increases required alignment
|
||||||
|
of target type occurs.
|
||||||
|
|
||||||
|
/lib/socket.c: In function 'rpc_read_from_socket':
|
||||||
|
lib/socket.c:586:49: error: cast increases required alignment of target type [-Werror=cast-align]
|
||||||
|
586 | rpc->rm_xid[1] = ntohl(*(uint32_t *)&buf[0]);
|
||||||
|
| ^
|
||||||
|
lib/socket.c:587:61: error: cast increases required alignment of target type [-Werror=cast-align]
|
||||||
|
587 | rpc->pdu = rpc_find_pdu(rpc, ntohl(*(uint32_t *)&buf[0]));
|
||||||
|
| ^
|
||||||
|
lib/socket.c:799:35: error: cast increases required alignment of target type [-Werror=cast-align]
|
||||||
|
799 | *((uint32_t *)rpc->inbuf) = htonl(rpc->rm_xid[1]);
|
||||||
|
| ^
|
||||||
|
lib/socket.c:861:71: error: cast increases required alignment of target type [-Werror=cast-align]
|
||||||
|
861 | const READ3res *res = (READ3res *) rpc->pdu->zdr_decode_buf;
|
||||||
|
| ^
|
||||||
|
|
||||||
|
cast via (void *) to allow the compile to suceed, as all of the source buffers should be 32bit aligned.
|
||||||
|
|
||||||
|
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
|
||||||
|
---
|
||||||
|
lib/socket.c | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/socket.c b/lib/socket.c
|
||||||
|
index 8f5835cc..df6f329b 100644
|
||||||
|
--- a/lib/socket.c
|
||||||
|
+++ b/lib/socket.c
|
||||||
|
@@ -583,8 +583,8 @@ rpc_read_from_socket(struct rpc_context *rpc)
|
||||||
|
}
|
||||||
|
if (!rpc->is_server_context) {
|
||||||
|
rpc->rm_xid[0] = count;
|
||||||
|
- rpc->rm_xid[1] = ntohl(*(uint32_t *)&buf[0]);
|
||||||
|
- rpc->pdu = rpc_find_pdu(rpc, ntohl(*(uint32_t *)&buf[0]));
|
||||||
|
+ rpc->rm_xid[1] = ntohl(*(uint32_t *)(void *)&buf[0]);
|
||||||
|
+ rpc->pdu = rpc_find_pdu(rpc, ntohl(*(uint32_t *)(void *)&buf[0]));
|
||||||
|
if (rpc->pdu == NULL) {
|
||||||
|
rpc_set_error(rpc, "Failed to match incoming PDU/XID."
|
||||||
|
" Ignoring PDU");
|
||||||
|
@@ -796,7 +796,7 @@ rpc_read_from_socket(struct rpc_context *rpc)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Copy the next 4 bytes into inbuf */
|
||||||
|
- *((uint32_t *)rpc->inbuf) = htonl(rpc->rm_xid[1]);
|
||||||
|
+ *((uint32_t *)(void *)rpc->inbuf) = htonl(rpc->rm_xid[1]);
|
||||||
|
|
||||||
|
/* but set inpos to 0, we will update it above
|
||||||
|
* that we have already read these 4 bytes in
|
||||||
|
@@ -858,7 +858,7 @@ rpc_read_from_socket(struct rpc_context *rpc)
|
||||||
|
* If the READ failed, bail out here as there is no
|
||||||
|
* data.
|
||||||
|
*/
|
||||||
|
- const READ3res *res = (READ3res *) rpc->pdu->zdr_decode_buf;
|
||||||
|
+ const READ3res *res = (READ3res *)(void *) rpc->pdu->zdr_decode_buf;
|
||||||
|
if (res->status != NFS3_OK) {
|
||||||
|
goto payload_finished;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user