[OpenAFS-devel] Where to put new header file
Ben Huntsman
ben@huntsmans.net
Tue, 31 Jan 2023 17:17:40 +0000
--_000_MWHPR0701MB367472A6669B411D21F88225A7D09MWHPR0701MB3674_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi Jeffrey-
I looked at the _AIX_FULLOSF macro as well. The problem is none of the =
kern/* headers are shipped either. I agree that a bug should be filed with=
IBM for the include of sys/libsysp.h, but I wouldn't expect them to do any=
thing about it in a timely fashion. If that is the solution we need to ado=
pt, we will need to note that AIX 7300-00-00 through whatever TL/ML they fi=
x it in are not supported.
I think based on this conversation though, I might look to see if we can=
not need to include net/netisr.h on AIX 7.3. After a quick look I'm not s=
ure we use very much from it anyway.
Thanks much!
-Ben
________________________________
From: Jeffrey E Altman
Sent: Tuesday, January 31, 2023 8:23 AM
To: Ben Huntsman; openafs-devel@openafs.org
Subject: Re: [OpenAFS-devel] Where to put new header file
On 1/30/2023 6:33 PM, Ben Huntsman (ben@huntsmans.net<mailto:ben@huntsmans.=
net>) wrote:
src/rx/AIX/rx_knet.c includes <net/netisr.h>. However, on AIX 7.3 IBM a=
dded an include to <sys/libsysp.h> which they don't ship (it's not listed i=
n bos.content_list). Here's the relevant section:
...
#ifdef _KERNEL
#ifdef _AIX_FULLOSF
#include "kern/queue.h"
#include "kern/thread.h"
#include "kern/sched_prim.h"
#else
#define EVENT_NETISR 0x0726
#include <sys/libsysp.h> /* remque/insque */
#endif
...
The only difference from earlier versions of AIX is the #include <sys/li=
bsysp.h>. As you can see, there's no real way to use macros to escape from=
it. However, we don't really need anything in it for OpenAFS, so my propo=
sal would be to just create an empty sys/libsysp.h file within the OpenAFS =
source tree. It would only be picked up by AIX 7.3 builds. I tested this =
and it allows the compile to continue. The question though is, where in th=
e tree should such file live?
I would also welcome alternative suggestions.
Ben,
If IBM fails to ship a header that would appear to be a bug that should be =
reported to them.
However, I wonder if their expectation is that _AIX_FULLOSF is supposed to =
be defined.
Under what conditions is _AIX_FULLOSF defined?
Jeffrey Altman
--_000_MWHPR0701MB367472A6669B411D21F88225A7D09MWHPR0701MB3674_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
Hi Jeffrey-</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
I looked at the _AIX_FULLOSF macro as well. The problem =
is none of the kern/* headers are shipped either. I agree that a bug =
should be filed with IBM for the include of sys/libsysp.h, but I wouldn't e=
xpect them to do anything about it in a timely fashion.
If that is the solution we need to adopt, we will need to note that AIX 73=
00-00-00 through whatever TL/ML they fix it in are not supported. &nbs=
p;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
I think based on this conversation though, I might look to see=
if we can not need to include net/netisr.h on AIX 7.3. After a quick=
look I'm not sure we use very much from it anyway.</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
Thanks much!</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
-Ben</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class=
=3D"elementToProof">
<br>
</div>
<div>
<div><br>
</div>
<div style=3D"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12p=
t; color:rgb(0,0,0);">
<br>
<hr tabindex=3D"-1" style=3D"display:inline-block; width:98%;">
<b>From:</b> Jeffrey E Altman<br>
<b>Sent:</b> Tuesday, January 31, 2023 8:23 AM<br>
<b>To:</b> Ben Huntsman; openafs-devel@openafs.org<br>
<b>Subject:</b> Re: [OpenAFS-devel] Where to put new header file
<div><br>
</div>
</div>
<div class=3D"rps_baf6">
<div>
<div class=3D"x_moz-cite-prefix">On 1/30/2023 6:33 PM, Ben Huntsman (<a hre=
f=3D"mailto:ben@huntsmans.net" target=3D"_blank" rel=3D"noopener noreferrer=
" data-auth=3D"NotApplicable" class=3D"x_moz-txt-link-abbreviated" data-loo=
pstyle=3D"link">ben@huntsmans.net</a>) wrote:<br>
</div>
<blockquote type=3D"cite"> src/rx/AIX/rx_knet.c includes <ne=
t/netisr.h>. However, on AIX 7.3 IBM added an include to <sys/l=
ibsysp.h> which they don't ship (it's not listed in bos.content_list).&n=
bsp; Here's the relevant section:
<div class=3D"x_elementToProof" style=3D"font-family:Calibri,Arial,Helvetic=
a,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,25=
5,255)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Calibri,Arial,Helvetic=
a,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,25=
5,255)">
...</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
#ifdef _KERNEL
<div><br class=3D"x_ContentPasted0">
</div>
<div class=3D"x_ContentPasted0">#ifdef _AIX_FULLOSF</div>
<div class=3D"x_ContentPasted0">#include "kern/queue.h"</div>
<div class=3D"x_ContentPasted0">#include "kern/thread.h"</div>
<div class=3D"x_ContentPasted0">#include "kern/sched_prim.h"</div=
>
<div class=3D"x_ContentPasted0">#else</div>
<div class=3D"x_ContentPasted0">#define EVENT_NETISR 0x0726</d=
iv>
<div class=3D"x_ContentPasted0">#include <sys/libsysp.h>  =
; /* remque/insque */</div>
<div class=3D"x_ContentPasted0">#endif</div>
...</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
<br>
</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
The only difference from earlier versions of AIX is the #inclu=
de <sys/libsysp.h>. As you can see, there's no real way to use =
macros to escape from it. However, we don't really need anything in i=
t for OpenAFS, so my proposal would be to just create an empty
sys/libsysp.h file within the OpenAFS source tree. It would only be =
picked up by AIX 7.3 builds. I tested this and it allows the compile =
to continue. The question though is, where in the tree should such fi=
le live?</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
<br>
</div>
<div class=3D"x_elementToProof x_ContentPasted0" style=3D"font-family:Calib=
ri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background=
-color:rgb(255,255,255)">
I would also welcome alternative suggestions.</div>
</blockquote>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">Ben,</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">If IBM fails to ship a he=
ader that would appear to be a bug that should be reported to them.</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">However, I wonder if thei=
r expectation is that _AIX_FULLOSF is supposed to be defined.</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">Under what conditions is =
_AIX_FULLOSF defined?</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;">Jeffrey Altman</p>
<p style=3D"margin-top: 0px; margin-bottom: 0px;"><br>
</p>
</div>
</div>
</div>
</body>
</html>
--_000_MWHPR0701MB367472A6669B411D21F88225A7D09MWHPR0701MB3674_--