Thanks, Darren.  Helpful as always.

> gcc -fno-hosted
>
>     Shouldn't the default gcc flags have "-fno-hosted" for both
>     pfil and ipf to avoid these error message when loading the
>     kernel modules:
>
>         unix: WARNING: mod_load: cannot load module 'pfil'
>         unix: /kernel/drv/sparcv9/pfil: undefined symbol
>         unix:  'memset'

Actually, I think the problem is the missing -ffreestanding.

The man pages for my gcc says that "-ffreestanding" is synonymous
with "-fno-hosted" but I like your version better since it's more
descriptive.

> Missing /usr/xpg4/bin/grep

So in that case the actual statement needs to look like this:
MIOCPULLUP:sh=/usr/ccs/bin/nm -p /dev/ksyms|grep miocpullup >/dev/null
2>&1; if ...

Does that work for you?

If it works for you, it works for me.  You can even specify "/usr/bin/grep"
since SUNWcsu is not what you would call "optional".

What I essentially did was find all instances of /usr/xpg4/bin/grep
(and it always used with the -q flag) and replaced it with the "grep
/dev/null" construct.  I took this cue from the GNU grep man pages

     -s, --no-messages
          Suppress error messages about nonexistent or unreadable
          files.   Portability note: unlike GNU grep, traditional
          grep did not conform to  POSIX.2,  because  traditional
          grep  lacked a -q option and its -s option behaved like
          GNU grep's -q option.  Shell  scripts  intended  to  be
          portable  to  traditional grep should avoid both -q and
          -s and should redirect output to /dev/null instead.

Don't forget about

        pfil/SunOS/postinstall

> arc4random.c
> ...
>    It looks like some bug in the system header rather than ipfilter
>     (or perhaps I'm using the wrong OS specific gcc).  Whatever the
>     reason, since it doesn't seem to be required, can't this include
>     statemen just be removed?

I've got a funny feeling that it is needed, somewhere else...
It feels like I should upload a 4.1.32-RC0.

I sympathize with your attempt at trying to maintain a working code
base across many architectures, OS's, versions, and compilers.

> Kernel crash?
>
>     When should IPF be recompiled?  Every time "uname -v" changes, or
>     perhaps only when the major patch# changes?

To be safe, every time "uname -v" changes.

What a pain.  But then again, one of the Solaris10 patch bundles I tried
completely rendered the system inoperable.

To diagnose crashes on Solaris 8 and 9, download this package:
http://coombs.anu.edu.au/~avalon/CTEact-8.5.17.tar.gz
http://coombs.anu.edu.au/~avalon/CTEactx-8.5.17.tar.gz

.. install that and email me the act.# file from /var/crash/foo.

I'll have a look at it and send you the results.  I am re-introducing
firewall rules back into ipf.conf to see if I can narrow the rule that
triggers the crash.

Joseph Tam <[email protected]>

Reply via email to