Hi Jim, First, thank you for your detailed report.
Jim Klimov wrote:
Hello Jean-Pierre, I tried your fix and it seems mostly correct - I applied the patch to a freshly untarred source that you published a couple of days ago, and the resulting ndiscvt binary built under OI 151a7 succeeded to make a driver.s file. However, it doesn't work fully, so the compilation of "ndis" target failed. Build log attached. There were a few more quirks along the way: 1) Not all headers are provided in your tarball's include/ subdir (nor in ndis-1.2.1, even though they are referenced in the README). The 1.2.6 source includes several more headers (like include/sys/*) that are needed.
This is intentional. Those files are duplicates of the ones normally found in /usr/include/sys, so they should not be needed. According to the include/README they were included for usage on systems where the /usr/include/sys headers were not up to date. IMHO usage of old system headers is calling for problems on a newer system.
2) The Makefile seems like those from other ndis versions I've tried, so I don't know why it did not define CFLAGS properly. I changed ":=" to ":" in those per-target assignments, and things began working. 3) A flag was needed for ndiscvt to build with "-m64", added to Makefile. 4) For a parameter-less invokation of gmake to build the project, as illustrated by my build log, the "all" target needed to be moved up, so that it is first and default. 5) Reference to "../driver.s" in the "ndis" build had to be fixed to current dir. Fixed Makefile is also attached.
Thank you for the fixes.
I'll try to rinse and repeat with other bcmwl5 releases for now...
In theory, there should be no change for a 32-bit driver. Do not use the option -a in ndiscvt for linking a driver at run time. Regards Jean-Pierre _______________________________________________ oi-dev mailing list [email protected] http://openindiana.org/mailman/listinfo/oi-dev
