mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2026-04-18 18:18:44 +00:00
Merge d1a577ea0e into 38ff8a778d
This commit is contained in:
commit
b1e26a469b
|
|
@ -438,7 +438,7 @@ apply_relocation(AOTModule *module, uint8 *target_section_addr,
|
||||||
| ((lower & 0x7000) >> 4) | (lower & 0x00ff);
|
| ((lower & 0x7000) >> 4) | (lower & 0x00ff);
|
||||||
offset = (offset ^ 0x8000) - 0x8000;
|
offset = (offset ^ 0x8000) - 0x8000;
|
||||||
|
|
||||||
offset += (symbol_addr + reloc_addend);
|
offset += ((intptr_t)symbol_addr + reloc_addend);
|
||||||
|
|
||||||
if (reloc_type == R_ARM_THM_MOVT_PREL
|
if (reloc_type == R_ARM_THM_MOVT_PREL
|
||||||
|| reloc_type == R_ARM_THM_MOVW_PREL_NC)
|
|| reloc_type == R_ARM_THM_MOVW_PREL_NC)
|
||||||
|
|
|
||||||
|
|
@ -2216,14 +2216,14 @@ wasmtime_ssp_poll_oneoff(wasm_exec_env_t exec_env, struct fd_table *curfds,
|
||||||
if (error == 0) {
|
if (error == 0) {
|
||||||
|
|
||||||
// Temporary workaround (see PR#4377)
|
// Temporary workaround (see PR#4377)
|
||||||
#ifdef BH_PLATFORM_ZEPHYR
|
|
||||||
os_file_handle tfd = fos[i]->file_handle->fd;
|
|
||||||
#else
|
|
||||||
os_file_handle tfd = fos[i]->file_handle;
|
os_file_handle tfd = fos[i]->file_handle;
|
||||||
#endif
|
|
||||||
// Proper file descriptor on which we can poll().
|
// Proper file descriptor on which we can poll().
|
||||||
pfds[i] = (os_poll_file_handle){
|
pfds[i] = (os_poll_file_handle){
|
||||||
|
#ifdef BH_PLATFORM_ZEPHYR
|
||||||
|
.fd = tfd->fd,
|
||||||
|
#else
|
||||||
.fd = tfd,
|
.fd = tfd,
|
||||||
|
#endif
|
||||||
.events = s->u.type == __WASI_EVENTTYPE_FD_READ
|
.events = s->u.type == __WASI_EVENTTYPE_FD_READ
|
||||||
? POLLIN
|
? POLLIN
|
||||||
: POLLOUT,
|
: POLLOUT,
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ textual_addr_to_sockaddr(const char *textual, int port, struct sockaddr *out,
|
||||||
{
|
{
|
||||||
struct sockaddr_in *v4;
|
struct sockaddr_in *v4;
|
||||||
#ifdef IPPROTO_IPV6
|
#ifdef IPPROTO_IPV6
|
||||||
struct sockaddr_in *v6;
|
struct sockaddr_in6 *v6;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
assert(textual);
|
assert(textual);
|
||||||
|
|
@ -38,11 +38,11 @@ textual_addr_to_sockaddr(const char *textual, int port, struct sockaddr *out,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef IPPROTO_IPV6
|
#ifdef IPPROTO_IPV6
|
||||||
v6 = (struct sockaddr_in *)out;
|
v6 = (struct sockaddr_in6 *)out;
|
||||||
if (zsock_inet_pton(AF_INET6, textual, &v6->sin6_addr.s6_addr) == 1) {
|
if (zsock_inet_pton(AF_INET6, textual, &v6->sin6_addr.s6_addr) == 1) {
|
||||||
v6->sin6_family = AF_INET6;
|
v6->sin6_family = AF_INET6;
|
||||||
v6->sin6_port = htons(port);
|
v6->sin6_port = htons(port);
|
||||||
*out_len = sizeof(struct sockaddr_in);
|
*out_len = sizeof(struct sockaddr_in6);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -67,7 +67,7 @@ sockaddr_to_bh_sockaddr(const struct sockaddr *sockaddr,
|
||||||
#ifdef IPPROTO_IPV6
|
#ifdef IPPROTO_IPV6
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
{
|
{
|
||||||
struct sockaddr_in *addr = (struct sockaddr_in *)sockaddr;
|
struct sockaddr_in6 *addr = (struct sockaddr_in6 *)sockaddr;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
bh_sockaddr->port = ntohs(addr->sin6_port);
|
bh_sockaddr->port = ntohs(addr->sin6_port);
|
||||||
|
|
@ -245,7 +245,7 @@ os_socket_bind(bh_socket_t socket, const char *host, int *port)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
#ifdef IPPROTO_IPV6
|
#ifdef IPPROTO_IPV6
|
||||||
*port = ntohs(((struct sockaddr_in *)&addr)->sin6_port);
|
*port = ntohs(((struct sockaddr_in6 *)&addr)->sin6_port);
|
||||||
#else
|
#else
|
||||||
return BHT_ERROR;
|
return BHT_ERROR;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -906,10 +906,10 @@ os_socket_set_ip_add_membership(bh_socket_t socket,
|
||||||
((uint16_t *)mreq.ipv6mr_multiaddr.s6_addr)[i] =
|
((uint16_t *)mreq.ipv6mr_multiaddr.s6_addr)[i] =
|
||||||
imr_multiaddr->ipv6[i];
|
imr_multiaddr->ipv6[i];
|
||||||
}
|
}
|
||||||
mreq.ipv6mr_interface = imr_interface;
|
mreq.ipv6mr_ifindex = imr_interface;
|
||||||
|
|
||||||
if (setsockopt(socket->fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &mreq,
|
if (zsock_setsockopt(socket->fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP,
|
||||||
sizeof(mreq))
|
&mreq, sizeof(mreq))
|
||||||
!= 0) {
|
!= 0) {
|
||||||
return BHT_ERROR;
|
return BHT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
@ -947,7 +947,7 @@ os_socket_set_ip_drop_membership(bh_socket_t socket,
|
||||||
((uint16_t *)mreq.ipv6mr_multiaddr.s6_addr)[i] =
|
((uint16_t *)mreq.ipv6mr_multiaddr.s6_addr)[i] =
|
||||||
imr_multiaddr->ipv6[i];
|
imr_multiaddr->ipv6[i];
|
||||||
}
|
}
|
||||||
mreq.ipv6mr_interface = imr_interface;
|
mreq.ipv6mr_ifindex = imr_interface;
|
||||||
|
|
||||||
if (zsock_setsockopt(socket->fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP,
|
if (zsock_setsockopt(socket->fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP,
|
||||||
&mreq, sizeof(mreq))
|
&mreq, sizeof(mreq))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user