tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [PATCH] Current GNU libc: Declare htonl() via <arpa/inet.h>
On Mon, 28 Oct 2024 at 22:19:40 +0900, Izumi Tsutsui wrote:
| Would be nice if somebody would comment on this (verified to not
break
| a build on NetBSD-current) or commit it.
Looks reasonable to me, I will get to it later tonight.
Maybe we can replace it with N_SETMAGIC() in <sys/exec_aout.h>
(that already uses htobe32()):
---
#define N_SETMAGIC(ex,mag,mid,flag) \
((ex).a_midmag = htobe32((uint32_t) \
((((flag)&0x3f)<<26)|(((mid)&0x03ff)<<16)|(((mag)&0xffff)))))
---
We should also update another htonl() leftover in comment
in <sys/exec_aout.h>?
---
/*
* Header prepended to each a.out file.
* only manipulate the a_midmag field via the
* N_SETMAGIC/N_GET{MAGIC,MID,FLAG} macros below.
*/
struct exec {
unsigned long a_midmag; /* htonl(flags<<26 | mid<<16 | magic) */
unsigned long a_text; /* text segment size */
For mkubootimage.c (which is what I've looked at), I think it makes
most sense to convert htonl(3) and ntohl(3) use to their equivalents
found in sys/endian.h. mkubootimage.c already uses bswap32(3),
le64toh(3), and more anyway. I see all of the necessary sys/endian.h
functions are provided by NetBSD compat, so making these changes
indeed results in a successful tools build on Fedora 40 inclusive of
mkubootimage(1). (I've been sitting on this change, hadn't got around
to emailing about it and/or committing. But I can do so soon.)
Regards,
Dave
Home |
Main Index |
Thread Index |
Old Index