[Request for review] loader changes

2012-07-30 Thread Andrey V. Elsukov
Hi, All.

It's been a long ago, when i published my patches first time.
And it seems, there is no one who is against or wants suggest something.
So I'm asking for review, and I want start merge changes at the end of week.
Patches are here: http://people.freebsd.org/~ae/bootcode/

full.diff:
The full diff, except tools.

tools.diff:
A small test program bootparttest. It uses sys/boot/common/part.c to
taste GEOM provider or disk image in the similar way, how loader does.

common.diff:
Changes to the common code. This code is used with many architectures and 
libraries.

* common/Makefile.inc
  added LOADER_NO_DISK_SUPPORT knob to disable build common code related to 
disks and
  partitions. By default GPT and MBR support are enabled, LOADER_NO_GPT_SUPPORT 
and
  LOADER_NO_MBR_SUPPORT can disable they.

* common/part.c
  common/part.h
  these files are new. They contains partition tables related code. Several 
words about API:
  Partition table described with opaque type "struct ptable", partition entries 
with
  struct ptable_entry {
uint64_tstart;
uint64_tend;
int index;
enum partition_type type;
  };

  The partition tables detection occurs when ptable_open() is called. This 
function takes
  as arguments the number of disk sectors, sector size and pointer to the 
callback
  function, that is know how to read from the disk.
  The ptable_close() function releases allocated resources.
  The ptable_gettype() functions returns the type of partition table.
  The ptable_getpart() functions returns information about specified partition.
  The ptable_iterate() functions calls a callback function for each partition 
in the table.
  The parttype2str() converts partition type to the string.

  The following partition tables are supported: BSD label, GPT, MBR, EBR and 
VTOC8.

* common/disk.c
  common/disk.h
  These files have been changed and they use new API to work with partitions. 
Also now
  they provide new disk API to the devsw disk drivers: disk_open(), 
disk_close(),
  disk_print(), disk_fmtdev() and disk_parsedev().

i386.diff:
Changes related to the i386 architecture:

* i386/libi386/devicename.c
  Use disk_fmtdev() and disk_parsedev() functions from the common code.

* i386/libi386/biosdisk.c
  The disk driver was rewritten to use new disk API. To the devsw ioctl handler 
was added.
  It handles DIOCGSECTORSIZE and DIOCGMEDIASIZE ioctls.

* i386/libi386/libi386.h
  The offset field was added to the i386_devdesc.d_kind.biosdisk structure.

* i386/libi386/Makefile
  removed unneeded flag.

* i386/pmbr/pmbr.s
  Added secondary GPT support.

* i386/loader/main.c
  ZFS probing simplified.

* i386/loader/Makefile
  removed unneeded flag.

userboot.diff:
The disk driver and sample program updated according to the changes in the 
disk.c.
Also new diskioctl callback added.

uboot.diff:
The disk driver was rewritten to use new disk API.

arm.diff:
powerpc.diff:
Added LOADER_NO_DISK_SUPPORT handling to be able build uboot with or without 
disk support.

zfs.diff:
Use new partitions API to probe all ZFS partitions in the GPT and BSD partition 
tables.

So, if there will not any opinions against these APIs and patches I will start
commit. The first step will be common and userboot code, then - i386 and zfs 
parts.

-- 
WBR, Andrey V. Elsukov




signature.asc
Description: OpenPGP digital signature


Re: RFC: libkern version of inet_ntoa_r

2012-07-30 Thread Lev Serebryakov
Hello, Arnaud.
You wrote 30 июля 2012 г., 2:30:21:

>>  It looks very gcc-ish.
AL> could you back your point with a technical argument, please ? This
AL> sounds rather FUD'ish so far.
AL> The ({ ... }) is nothing more than a primary-expression enclosing a
AL> compound-statement;
  And how will it return value? It is completely illegal for compound
statement to return value. And to be a part of primary expression, too.

  Here is simple test:

=
1  #include 
2  #include 
3
4  int fn(int x, int y) { return x + y; }
5
6  #define fn(x) ({ fn(x, 42); })
7
8  int main(int argc, char *argv[]) {
9  printf("%d\n", fn(10));
10 return 0;
11 }
=

  gcc compiles it and prints "52", but MSVC++ 10.0 cannot compile this
at all, and it is in its own right:

=
D:\home\lev\test>cl test.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

test.c
test.c(9) : error C2059: syntax error : '{'
test.c(9) : error C2059: syntax error : ')'
test.c(9) : error C2059: syntax error : ')'
test.c(10) : error C2059: syntax error : 'return'
test.c(11) : error C2059: syntax error : '}'
=

See http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html -- it is
clearly marked as "GNU C" construct, not ANSI/ISO C/C++ one.

And even more:

=
> gcc -Wall -ansi -pedantic -std=c99 test.c
test.c: In function 'main':
test.c:9: warning: ISO C forbids braced-groups within expressions
>
=

-- 
// Black Lion AKA Lev Serebryakov 

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: make release recursion

2012-07-30 Thread Glen Barber
Alexander Pyhalov  wrote:

>Hello.
>
>On 07/28/2012 00:09, Glen Barber wrote:
>> Hello,
>>
>> On Fri, Jul 27, 2012 at 09:35:13AM +0400, Alexander Pyhalov wrote:
>>> Hello.
>>> I've tried to do "make cdrom" on recent 10-current (svn revision
>238763)
>>> and got after day of work:
>>>
>>
>> [...]
>>
>> Could you please retry the cdrom build with NOSRC=yes set?
>
>I've tried "make NOSRC=yes cdrom" and the command completed in about an
>
>hour without recursion.
>-- 
>Best regards,
>Alexander Pyhalov,
>system administrator of Computer Center of Southern Federal University

Thank you for reporting back on this.  I believe I know where the recursion is 
happening, and will look into it further for a fix.
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: r238860: bsdtar: eating up 100% CPU, hanging

2012-07-30 Thread Martin Matuska
Please check with CURRENT r238909. I have backported the NFSv4 ACL fix
for now.
It will be reverted and re-merged when fixed in libarchive's release branch.

On 30.7.2012 0:17, O. Hartmann wrote:
> Am 07/29/12 19:19, schrieb Martin Matuska:
>> Do you still have this problem after r238882?
>>
> The specific problem has gone - bsdtar now performs well. But another
> issue occurs now:
>
> Ports like mail/thunderbird or www/firefox which seems to install using
> bsdtar, install files with weird access bits set: --xr-xr-x
> I need to adjust the access bits manually. I do not know whether this is
> also libarchive related.
> I did not investigate further due to time constraints.
>
> Regards,
> Oliver
>
-- 
Martin Matuska
FreeBSD committer
http://blog.vx.sk

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: newbus' ivar's limitation..

2012-07-30 Thread John Baldwin
On Tuesday, July 17, 2012 2:03:14 am Arnaud Lacombe wrote:
> Hi,
> 
> On Fri, Jul 13, 2012 at 1:56 PM, Arnaud Lacombe  wrote:
> > Hi,
> >
> > On Thu, Jul 12, 2012 at 1:20 AM, Warner Losh  wrote:
> >> [..]
> >> Honestly, though, I think you'll be more pissed when you find out that 
the N:1 interface that you want is being done in the wrong domain.  But I've 
been wrong before and look forward to seeing your replacement.
> >>
> > I will just pass function pointers for now, if things should be done
> > dirty, let's be explicit about it.
> >
> > Now, the hinted device attachment did work quite smoothly, however, I
> > would have a few suggestion:
> >  1) add a call to bus_enumerate_hinted_children() before the call
> > DEVICE_IDENTIFY() call in bus_generic_driver_added()
> >
> > this is required to be able to support dynamic loading and attachment
> > of hinted children.

I'm not sure this is a feature we want to support (to date hinted children
have only been created at boot time).

> >  2) have a generic bus_hinted_child method which would just add a new
> > child to the bus.

Possibly, but hinted children are intentionally opt-in and not enabled
by default.

> >  3) have bus_enumerate_hinted_children() and bus_generic_attach()
> > always ran on device attachment.
> >
> > There is current +100 explicit call to bus_generic_attach() in the
> > sys/dev/ tree. This should be done always and implicitly.

No.  One of the problems is that different busses want to do it at
different times.  It is usually done last, but some buses may want to
do additional work after the bus_generic_attach().

> >  4) have bus_generic_detach() always ran prior to device detachment

Similar.

> >  5) have the bus_generic_* method be the default of their respective 
method

No.  However, what would be a good idea (and one thing I've had on my
list), is to create a "bus_generic" driver that uses the bus_generic_*
methods for all it's methods and let bus drivers inherit from that to
get the generic methods if they are appropriate.  If you do this, I
would also add a second "bus_generic_rl" that inherits from "bus_generic"
but uses the generic resource list methods for resources.

> >  6) have device_delete_child() called upon device detachment.

No.  This is for a bus to decide.  This would be horrifically wrong
for things like kldunloading a PCI device driver.  Just because you
unload a driver (so that it detaches from devices) does not mean those
physical devices have gone away.

> > As a rule of thumb, when a kld is unloaded there should not be any
> > remains of anything built previously. Without device_delete_child() or
> > proper singleton implementation, multiple load/unload sequence of bus
> > will attempt to attach multiple version of a child, even if the single
> > child was added prior to the bus_generic_attach() call.

Hinted devices should perhaps be removed, yes.  However, what other drivers
often do is use a singleton approach instead (despite your claim that they
don't).  For example:

static void
ipmi_isa_identify(driver_t *driver, device_t parent)
{
struct ipmi_get_info info;
uint32_t devid;

if (ipmi_smbios_identify(&info) && info.iface_type != SSIF_MODE &&
device_find_child(parent, "ipmi", -1) == NULL) {
...
BUS_ADD_CHILD(parent, 0, "ipmi", -1);
}
}

-- 
John Baldwin
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: newbus' ivar's limitation..

2012-07-30 Thread Ian Lepore
On Mon, 2012-07-30 at 17:06 -0400, John Baldwin wrote:
> On Tuesday, July 17, 2012 2:03:14 am Arnaud Lacombe wrote:
> > Hi,
> > 
> > On Fri, Jul 13, 2012 at 1:56 PM, Arnaud Lacombe  wrote:
> > > Hi,
> > >
> > > On Thu, Jul 12, 2012 at 1:20 AM, Warner Losh  wrote:
> > >> [..]
> > >> Honestly, though, I think you'll be more pissed when you find out that 
> the N:1 interface that you want is being done in the wrong domain.  But I've 
> been wrong before and look forward to seeing your replacement.
> > >>
> > > I will just pass function pointers for now, if things should be done
> > > dirty, let's be explicit about it.
> > >
> > > Now, the hinted device attachment did work quite smoothly, however, I
> > > would have a few suggestion:
> > >  1) add a call to bus_enumerate_hinted_children() before the call
> > > DEVICE_IDENTIFY() call in bus_generic_driver_added()
> > >
> > > this is required to be able to support dynamic loading and attachment
> > > of hinted children.
> 
> I'm not sure this is a feature we want to support (to date hinted children
> have only been created at boot time). 

It seems to me that the bus should be in control of calling
bus_enumerate_hinted_children() at whatever time works best for it.
Also, shouldn't it only ever be called once?

The comment block for BUS_HINTED_CHILD in bus_if.h says "This method is
only called in response to the parent bus asking for hinted devices to
be enumerated."  I think one of the implications of that is that any
given bus may not call bus_enumerate_hinted_children() because it may
not be able to do anything for hinted children.  Adding a
"hint.somedev.0.at=somebus" and then forcing the bus to enumerate hinted
children amounts to forcing the bus to adopt a child it may not be able
to provide resources for, which sounds like a panic or crash waiting to
happen (or at best, no crash but nothing useful happens either).

-- Ian


___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


[head tinderbox] failure on sparc64/sparc64

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-30 22:07:59 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-30 22:07:59 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-30 22:07:59 - starting HEAD tinderbox run for sparc64/sparc64
TB --- 2012-07-30 22:07:59 - cleaning the object tree
TB --- 2012-07-30 22:07:59 - cvsupping the source tree
TB --- 2012-07-30 22:07:59 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/sparc64/sparc64/supfile
TB --- 2012-07-30 22:08:42 - building world
TB --- 2012-07-30 22:08:42 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-30 22:08:42 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-30 22:08:42 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-30 22:08:42 - SRCCONF=/dev/null
TB --- 2012-07-30 22:08:42 - TARGET=sparc64
TB --- 2012-07-30 22:08:42 - TARGET_ARCH=sparc64
TB --- 2012-07-30 22:08:42 - TZ=UTC
TB --- 2012-07-30 22:08:42 - __MAKE_CONF=/dev/null
TB --- 2012-07-30 22:08:42 - cd /src
TB --- 2012-07-30 22:08:42 - /usr/bin/make -B buildworld
>>> World build started on Mon Jul 30 22:08:43 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Mon Jul 30 23:11:12 UTC 2012
TB --- 2012-07-30 23:11:12 - generating LINT kernel config
TB --- 2012-07-30 23:11:12 - cd /src/sys/sparc64/conf
TB --- 2012-07-30 23:11:12 - /usr/bin/make -B LINT
TB --- 2012-07-30 23:11:12 - cd /src/sys/sparc64/conf
TB --- 2012-07-30 23:11:12 - /usr/sbin/config -m LINT
TB --- 2012-07-30 23:11:12 - building LINT kernel
TB --- 2012-07-30 23:11:12 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-30 23:11:12 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-30 23:11:12 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-30 23:11:12 - SRCCONF=/dev/null
TB --- 2012-07-30 23:11:12 - TARGET=sparc64
TB --- 2012-07-30 23:11:12 - TARGET_ARCH=sparc64
TB --- 2012-07-30 23:11:12 - TZ=UTC
TB --- 2012-07-30 23:11:12 - __MAKE_CONF=/dev/null
TB --- 2012-07-30 23:11:12 - cd /src
TB --- 2012-07-30 23:11:12 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Mon Jul 30 23:11:12 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_eth_z8e.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_ethp_z8e.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/my/if_my.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 

[head tinderbox] failure on powerpc/powerpc

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-30 21:00:16 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-30 21:00:16 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-30 21:00:16 - starting HEAD tinderbox run for powerpc/powerpc
TB --- 2012-07-30 21:00:16 - cleaning the object tree
TB --- 2012-07-30 21:00:16 - cvsupping the source tree
TB --- 2012-07-30 21:00:16 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/powerpc/powerpc/supfile
TB --- 2012-07-30 21:01:40 - building world
TB --- 2012-07-30 21:01:40 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-30 21:01:40 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-30 21:01:40 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-30 21:01:40 - SRCCONF=/dev/null
TB --- 2012-07-30 21:01:40 - TARGET=powerpc
TB --- 2012-07-30 21:01:40 - TARGET_ARCH=powerpc
TB --- 2012-07-30 21:01:40 - TZ=UTC
TB --- 2012-07-30 21:01:40 - __MAKE_CONF=/dev/null
TB --- 2012-07-30 21:01:40 - cd /src
TB --- 2012-07-30 21:01:40 - /usr/bin/make -B buildworld
>>> World build started on Mon Jul 30 21:01:41 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Mon Jul 30 23:15:36 UTC 2012
TB --- 2012-07-30 23:15:36 - generating LINT kernel config
TB --- 2012-07-30 23:15:36 - cd /src/sys/powerpc/conf
TB --- 2012-07-30 23:15:36 - /usr/bin/make -B LINT
TB --- 2012-07-30 23:15:36 - cd /src/sys/powerpc/conf
TB --- 2012-07-30 23:15:36 - /usr/sbin/config -m LINT
TB --- 2012-07-30 23:15:36 - building LINT kernel
TB --- 2012-07-30 23:15:36 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-30 23:15:36 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-30 23:15:36 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-30 23:15:36 - SRCCONF=/dev/null
TB --- 2012-07-30 23:15:36 - TARGET=powerpc
TB --- 2012-07-30 23:15:36 - TARGET_ARCH=powerpc
TB --- 2012-07-30 23:15:36 - TZ=UTC
TB --- 2012-07-30 23:15:36 - __MAKE_CONF=/dev/null
TB --- 2012-07-30 23:15:36 - cd /src
TB --- 2012-07-30 23:15:36 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Mon Jul 30 23:15:36 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_eth_z8e.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_ethp_z8e.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/my/if_my.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I

[head tinderbox] failure on powerpc64/powerpc

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-30 21:19:20 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-30 21:19:20 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-30 21:19:20 - starting HEAD tinderbox run for powerpc64/powerpc
TB --- 2012-07-30 21:19:20 - cleaning the object tree
TB --- 2012-07-30 21:19:20 - cvsupping the source tree
TB --- 2012-07-30 21:19:20 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/powerpc64/powerpc/supfile
TB --- 2012-07-30 21:20:49 - building world
TB --- 2012-07-30 21:20:49 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-30 21:20:49 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-30 21:20:49 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-30 21:20:49 - SRCCONF=/dev/null
TB --- 2012-07-30 21:20:49 - TARGET=powerpc
TB --- 2012-07-30 21:20:49 - TARGET_ARCH=powerpc64
TB --- 2012-07-30 21:20:49 - TZ=UTC
TB --- 2012-07-30 21:20:49 - __MAKE_CONF=/dev/null
TB --- 2012-07-30 21:20:49 - cd /src
TB --- 2012-07-30 21:20:49 - /usr/bin/make -B buildworld
>>> World build started on Mon Jul 30 21:20:50 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> stage 5.1: building 32 bit shim libraries
>>> World build completed on Tue Jul 31 00:01:31 UTC 2012
TB --- 2012-07-31 00:01:31 - generating LINT kernel config
TB --- 2012-07-31 00:01:31 - cd /src/sys/powerpc/conf
TB --- 2012-07-31 00:01:31 - /usr/bin/make -B LINT
TB --- 2012-07-31 00:01:31 - cd /src/sys/powerpc/conf
TB --- 2012-07-31 00:01:31 - /usr/sbin/config -m LINT
TB --- 2012-07-31 00:01:31 - building LINT kernel
TB --- 2012-07-31 00:01:31 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 00:01:31 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 00:01:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 00:01:31 - SRCCONF=/dev/null
TB --- 2012-07-31 00:01:31 - TARGET=powerpc
TB --- 2012-07-31 00:01:31 - TARGET_ARCH=powerpc64
TB --- 2012-07-31 00:01:31 - TZ=UTC
TB --- 2012-07-31 00:01:31 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 00:01:31 - cd /src
TB --- 2012-07-31 00:01:31 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 00:01:31 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -mcall-aixdesc -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_eth_z8e.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -mcall-aixdesc -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_ethp_z8e.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -mcall-aixdesc -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/my/if_my.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmiss

Re: newbus' ivar's limitation..

2012-07-30 Thread Arnaud Lacombe
Hi,

On Mon, Jul 30, 2012 at 5:06 PM, John Baldwin  wrote:
> On Tuesday, July 17, 2012 2:03:14 am Arnaud Lacombe wrote:
>> Hi,
>>
>> On Fri, Jul 13, 2012 at 1:56 PM, Arnaud Lacombe  wrote:
>> > Hi,
>> >
>> > On Thu, Jul 12, 2012 at 1:20 AM, Warner Losh  wrote:
>> >> [..]
>> >> Honestly, though, I think you'll be more pissed when you find out that
> the N:1 interface that you want is being done in the wrong domain.  But I've
> been wrong before and look forward to seeing your replacement.
>> >>
>> > I will just pass function pointers for now, if things should be done
>> > dirty, let's be explicit about it.
>> >
>> > Now, the hinted device attachment did work quite smoothly, however, I
>> > would have a few suggestion:
>> >  1) add a call to bus_enumerate_hinted_children() before the call
>> > DEVICE_IDENTIFY() call in bus_generic_driver_added()
>> >
>> > this is required to be able to support dynamic loading and attachment
>> > of hinted children.
>
> I'm not sure this is a feature we want to support (to date hinted children
> have only been created at boot time).
>
>> >  2) have a generic bus_hinted_child method which would just add a new
>> > child to the bus.
>
> Possibly, but hinted children are intentionally opt-in and not enabled
> by default.
>
>> >  3) have bus_enumerate_hinted_children() and bus_generic_attach()
>> > always ran on device attachment.
>> >
>> > There is current +100 explicit call to bus_generic_attach() in the
>> > sys/dev/ tree. This should be done always and implicitly.
>
> No.  One of the problems is that different busses want to do it at
> different times.  It is usually done last, but some buses may want to
> do additional work after the bus_generic_attach().
>
>> >  4) have bus_generic_detach() always ran prior to device detachment
>
> Similar.
>
>> >  5) have the bus_generic_* method be the default of their respective
> method
>
> No.  However, what would be a good idea (and one thing I've had on my
> list), is to create a "bus_generic" driver that uses the bus_generic_*
> methods for all it's methods and let bus drivers inherit from that to
> get the generic methods if they are appropriate.  If you do this, I
> would also add a second "bus_generic_rl" that inherits from "bus_generic"
> but uses the generic resource list methods for resources.
>
>> >  6) have device_delete_child() called upon device detachment.
>
> No.  This is for a bus to decide.  This would be horrifically wrong
> for things like kldunloading a PCI device driver.  Just because you
> unload a driver (so that it detaches from devices) does not mean those
> physical devices have gone away.
>
>> > As a rule of thumb, when a kld is unloaded there should not be any
>> > remains of anything built previously. Without device_delete_child() or
>> > proper singleton implementation, multiple load/unload sequence of bus
>> > will attempt to attach multiple version of a child, even if the single
>> > child was added prior to the bus_generic_attach() call.
>
> Hinted devices should perhaps be removed, yes.  However, what other drivers
> often do is use a singleton approach instead (despite your claim that they
> don't).
>
FreeBSD's newbus device framework already sucks (as in "too
static"/"inflexible"), making it sucks even more (as in "more
static"/"more inflexible") might not be the wisest approach... This is
no longer the 90'. The good old enumerating-buses, tree-based, model
is to be relegated to a corner-case of the computer world with
profusion of embedded, non-enumerating, highly integrated, highly
interconnected, highly custom SoCs.

I am yet to see a robust approach to the various problem I submitted.

> For example:
> static void
> ipmi_isa_identify(driver_t *driver, device_t parent)
> {
> struct ipmi_get_info info;
> uint32_t devid;
>
> if (ipmi_smbios_identify(&info) && info.iface_type != SSIF_MODE &&
> device_find_child(parent, "ipmi", -1) == NULL) {
> ...
> BUS_ADD_CHILD(parent, 0, "ipmi", -1);
> }
> }
>
duplicated code doing the exact same abstract, hardcoded, function,
all over the tree, absolutely unacceptable, if not a blatant proof of
failure of what should be made generic, if not fully dynamic.

 - Arnaud
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


[head tinderbox] failure on i386/i386

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 00:10:00 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 00:10:00 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 00:10:00 - starting HEAD tinderbox run for i386/i386
TB --- 2012-07-31 00:10:00 - cleaning the object tree
TB --- 2012-07-31 00:10:00 - cvsupping the source tree
TB --- 2012-07-31 00:10:00 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/i386/i386/supfile
TB --- 2012-07-31 00:12:18 - building world
TB --- 2012-07-31 00:12:18 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 00:12:18 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 00:12:18 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 00:12:18 - SRCCONF=/dev/null
TB --- 2012-07-31 00:12:18 - TARGET=i386
TB --- 2012-07-31 00:12:18 - TARGET_ARCH=i386
TB --- 2012-07-31 00:12:18 - TZ=UTC
TB --- 2012-07-31 00:12:18 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 00:12:18 - cd /src
TB --- 2012-07-31 00:12:18 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 00:12:20 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Tue Jul 31 02:38:27 UTC 2012
TB --- 2012-07-31 02:38:27 - generating LINT kernel config
TB --- 2012-07-31 02:38:27 - cd /src/sys/i386/conf
TB --- 2012-07-31 02:38:27 - /usr/bin/make -B LINT
TB --- 2012-07-31 02:38:27 - cd /src/sys/i386/conf
TB --- 2012-07-31 02:38:27 - /usr/sbin/config -m LINT
TB --- 2012-07-31 02:38:27 - building LINT kernel
TB --- 2012-07-31 02:38:27 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 02:38:27 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 02:38:27 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 02:38:27 - SRCCONF=/dev/null
TB --- 2012-07-31 02:38:27 - TARGET=i386
TB --- 2012-07-31 02:38:27 - TARGET_ARCH=i386
TB --- 2012-07-31 02:38:27 - TZ=UTC
TB --- 2012-07-31 02:38:27 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 02:38:27 - cd /src
TB --- 2012-07-31 02:38:27 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 02:38:28 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 
--param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 
-DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror -pg 
-mprofiler-epilogue /src/sys/dev/my/if_my.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 
--param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 
-DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror -pg 
-mprofiler-epilogue /src/sys/dev/ncv/ncr53c500.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 
--param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 
-DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror -pg 
-mprofiler-epilogue /src/sys/dev/ncv/ncr53c500_pccard.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes 

[head tinderbox] failure on i386/pc98

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 00:10:00 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 00:10:00 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 00:10:00 - starting HEAD tinderbox run for i386/pc98
TB --- 2012-07-31 00:10:00 - cleaning the object tree
TB --- 2012-07-31 00:10:00 - cvsupping the source tree
TB --- 2012-07-31 00:10:00 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/i386/pc98/supfile
TB --- 2012-07-31 00:16:39 - building world
TB --- 2012-07-31 00:16:39 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 00:16:39 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 00:16:39 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 00:16:39 - SRCCONF=/dev/null
TB --- 2012-07-31 00:16:39 - TARGET=pc98
TB --- 2012-07-31 00:16:39 - TARGET_ARCH=i386
TB --- 2012-07-31 00:16:39 - TZ=UTC
TB --- 2012-07-31 00:16:39 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 00:16:39 - cd /src
TB --- 2012-07-31 00:16:39 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 00:16:40 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Tue Jul 31 02:41:10 UTC 2012
TB --- 2012-07-31 02:41:10 - generating LINT kernel config
TB --- 2012-07-31 02:41:10 - cd /src/sys/pc98/conf
TB --- 2012-07-31 02:41:10 - /usr/bin/make -B LINT
TB --- 2012-07-31 02:41:11 - cd /src/sys/pc98/conf
TB --- 2012-07-31 02:41:11 - /usr/sbin/config -m LINT
TB --- 2012-07-31 02:41:11 - building LINT kernel
TB --- 2012-07-31 02:41:11 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 02:41:11 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 02:41:11 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 02:41:11 - SRCCONF=/dev/null
TB --- 2012-07-31 02:41:11 - TARGET=pc98
TB --- 2012-07-31 02:41:11 - TARGET_ARCH=i386
TB --- 2012-07-31 02:41:11 - TZ=UTC
TB --- 2012-07-31 02:41:11 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 02:41:11 - cd /src
TB --- 2012-07-31 02:41:11 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 02:41:11 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 
--param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 
-DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror -pg 
-mprofiler-epilogue /src/sys/dev/my/if_my.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 
--param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 
-DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror -pg 
-mprofiler-epilogue /src/sys/dev/ncv/ncr53c500.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 
--param large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 
-DGUPROF -fno-builtin -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -Werror -pg 
-mprofiler-epilogue /src/sys/dev/ncv/ncr53c500_pccard.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes 

[head tinderbox] failure on amd64/amd64

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 00:10:00 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 00:10:00 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 00:10:00 - starting HEAD tinderbox run for amd64/amd64
TB --- 2012-07-31 00:10:00 - cleaning the object tree
TB --- 2012-07-31 00:10:00 - cvsupping the source tree
TB --- 2012-07-31 00:10:00 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/amd64/amd64/supfile
TB --- 2012-07-31 00:12:32 - building world
TB --- 2012-07-31 00:12:32 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 00:12:32 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 00:12:32 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 00:12:32 - SRCCONF=/dev/null
TB --- 2012-07-31 00:12:32 - TARGET=amd64
TB --- 2012-07-31 00:12:32 - TARGET_ARCH=amd64
TB --- 2012-07-31 00:12:32 - TZ=UTC
TB --- 2012-07-31 00:12:32 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 00:12:32 - cd /src
TB --- 2012-07-31 00:12:32 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 00:12:33 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> stage 5.1: building 32 bit shim libraries
>>> World build completed on Tue Jul 31 03:15:38 UTC 2012
TB --- 2012-07-31 03:15:38 - generating LINT kernel config
TB --- 2012-07-31 03:15:38 - cd /src/sys/amd64/conf
TB --- 2012-07-31 03:15:38 - /usr/bin/make -B LINT
TB --- 2012-07-31 03:15:38 - cd /src/sys/amd64/conf
TB --- 2012-07-31 03:15:38 - /usr/sbin/config -m LINT
TB --- 2012-07-31 03:15:38 - building LINT kernel
TB --- 2012-07-31 03:15:38 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 03:15:38 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 03:15:38 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 03:15:38 - SRCCONF=/dev/null
TB --- 2012-07-31 03:15:38 - TARGET=amd64
TB --- 2012-07-31 03:15:38 - TARGET_ARCH=amd64
TB --- 2012-07-31 03:15:38 - TZ=UTC
TB --- 2012-07-31 03:15:38 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 03:15:38 - cd /src
TB --- 2012-07-31 03:15:38 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 03:15:38 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O2 -frename-registers -pipe -fno-strict-aliasing  -std=c99  -Wall 
-Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes 
-Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign 
-fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   
-nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common 
-finline-limit=8000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF 
-fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mno-mmx 
-mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding 
-fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/dev/my/if_my.c
cc -c -O2 -frename-registers -pipe -fno-strict-aliasing  -std=c99  -Wall 
-Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes 
-Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign 
-fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   
-nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common 
-finline-limit=8000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF 
-fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mno-mmx 
-mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding 
-fstack-protector -Werror -pg -mprofiler-epilogue /src/sys/dev/ncv/ncr53c500.c
cc -c -O2 -frename-registers -pipe -fno-strict-aliasing  -std=c99  -Wall 
-Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes 
-Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign 
-fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   
-nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common 
-finline-limit=8000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -DGPROF -falign-functions=16 -DGPROF4 -DGUPROF 
-fno-builtin -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mno-mmx 
-mno-sse -msoft-float  -fno-asynchronous-unwind-t

Re: newbus' ivar's limitation..

2012-07-30 Thread Warner Losh

On Jul 30, 2012, at 8:30 PM, Arnaud Lacombe wrote:

> Hi,
> 
> On Mon, Jul 30, 2012 at 5:06 PM, John Baldwin  wrote:
>> On Tuesday, July 17, 2012 2:03:14 am Arnaud Lacombe wrote:
>>> Hi,
>>> 
>>> On Fri, Jul 13, 2012 at 1:56 PM, Arnaud Lacombe  wrote:
 Hi,
 
 On Thu, Jul 12, 2012 at 1:20 AM, Warner Losh  wrote:
> [..]
> Honestly, though, I think you'll be more pissed when you find out that
>> the N:1 interface that you want is being done in the wrong domain.  But I've
>> been wrong before and look forward to seeing your replacement.
> 
 I will just pass function pointers for now, if things should be done
 dirty, let's be explicit about it.
 
 Now, the hinted device attachment did work quite smoothly, however, I
 would have a few suggestion:
 1) add a call to bus_enumerate_hinted_children() before the call
 DEVICE_IDENTIFY() call in bus_generic_driver_added()
 
 this is required to be able to support dynamic loading and attachment
 of hinted children.
>> 
>> I'm not sure this is a feature we want to support (to date hinted children
>> have only been created at boot time).

Yes.  FDT should replace hinted things as much as possible.  However, FDT is an 
in for a penny, in for a pound technology like acpi: you more or less have to 
use it for everything.

 2) have a generic bus_hinted_child method which would just add a new
 child to the bus.
>> 
>> Possibly, but hinted children are intentionally opt-in and not enabled
>> by default.

Yes.  I made it that way on purpose because most buses are enumerated, and 
things are moving that way even in the embedded world, or at least seemed that 
way when I was doing it.  Either the buses are enumerated, like PCI or some of 
the silicon frameworks, or you used FDT, which is also fully enumerated.

 3) have bus_enumerate_hinted_children() and bus_generic_attach()
 always ran on device attachment.
 
 There is current +100 explicit call to bus_generic_attach() in the
 sys/dev/ tree. This should be done always and implicitly.
>> 
>> No.  One of the problems is that different busses want to do it at
>> different times.  It is usually done last, but some buses may want to
>> do additional work after the bus_generic_attach().

Yes.  This was specifically due to how different buses enumerate.

 4) have bus_generic_detach() always ran prior to device detachment
>> 
>> Similar.
>> 
 5) have the bus_generic_* method be the default of their respective
>> method
>> 
>> No.  However, what would be a good idea (and one thing I've had on my
>> list), is to create a "bus_generic" driver that uses the bus_generic_*
>> methods for all it's methods and let bus drivers inherit from that to
>> get the generic methods if they are appropriate.  If you do this, I
>> would also add a second "bus_generic_rl" that inherits from "bus_generic"
>> but uses the generic resource list methods for resources.

It has been a mistake to not more aggressively investigate this line of coding.

 6) have device_delete_child() called upon device detachment.
>> 
>> No.  This is for a bus to decide.  This would be horrifically wrong
>> for things like kldunloading a PCI device driver.  Just because you
>> unload a driver (so that it detaches from devices) does not mean those
>> physical devices have gone away.

It is almost always horrifically wrong.

 As a rule of thumb, when a kld is unloaded there should not be any
 remains of anything built previously. Without device_delete_child() or
 proper singleton implementation, multiple load/unload sequence of bus
 will attempt to attach multiple version of a child, even if the single
 child was added prior to the bus_generic_attach() call.
>> 
>> Hinted devices should perhaps be removed, yes.  However, what other drivers
>> often do is use a singleton approach instead (despite your claim that they
>> don't).
>> 
> FreeBSD's newbus device framework already sucks (as in "too
> static"/"inflexible"), making it sucks even more (as in "more
> static"/"more inflexible") might not be the wisest approach... This is
> no longer the 90'. The good old enumerating-buses, tree-based, model
> is to be relegated to a corner-case of the computer world with
> profusion of embedded, non-enumerating, highly integrated, highly
> interconnected, highly custom SoCs.

FDT handles the enumeration problem.  FreeBSD's lack of a decent gpio, pinctl, 
pinmux and other infrastructure are much bigger issues.  At least those are the 
real issues that I'm running into working on the Atmel SoCs and bringing FDT to 
them.  Hinted buses really have no place in an FDT world.  None.  They are an 
ugly hack that were intended to be a stop-gap until something better than hints 
came along.  If you are trying to use them in an FDT world, you are likely 
doing something horribly wrong.

> I am yet to see a robust approach to the various problem I submitted.

That's because you're aski

[head tinderbox] failure on mips/mips

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 02:50:38 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 02:50:38 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 02:50:38 - starting HEAD tinderbox run for mips/mips
TB --- 2012-07-31 02:50:38 - cleaning the object tree
TB --- 2012-07-31 02:50:38 - cvsupping the source tree
TB --- 2012-07-31 02:50:38 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/mips/mips/supfile
TB --- 2012-07-31 02:51:27 - building world
TB --- 2012-07-31 02:51:27 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 02:51:27 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 02:51:27 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 02:51:27 - SRCCONF=/dev/null
TB --- 2012-07-31 02:51:27 - TARGET=mips
TB --- 2012-07-31 02:51:27 - TARGET_ARCH=mips
TB --- 2012-07-31 02:51:27 - TZ=UTC
TB --- 2012-07-31 02:51:27 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 02:51:27 - cd /src
TB --- 2012-07-31 02:51:27 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 02:51:28 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Tue Jul 31 03:56:19 UTC 2012
TB --- 2012-07-31 03:56:19 - cd /src/sys/mips/conf
TB --- 2012-07-31 03:56:19 - /usr/sbin/config -m ADM5120
TB --- 2012-07-31 03:56:19 - skipping ADM5120 kernel
TB --- 2012-07-31 03:56:19 - cd /src/sys/mips/conf
TB --- 2012-07-31 03:56:19 - /usr/sbin/config -m ALCHEMY
TB --- 2012-07-31 03:56:19 - skipping ALCHEMY kernel
TB --- 2012-07-31 03:56:19 - cd /src/sys/mips/conf
TB --- 2012-07-31 03:56:19 - /usr/sbin/config -m AP93
TB --- 2012-07-31 03:56:19 - building AP93 kernel
TB --- 2012-07-31 03:56:19 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 03:56:19 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 03:56:19 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 03:56:19 - SRCCONF=/dev/null
TB --- 2012-07-31 03:56:19 - TARGET=mips
TB --- 2012-07-31 03:56:19 - TARGET_ARCH=mips
TB --- 2012-07-31 03:56:19 - TZ=UTC
TB --- 2012-07-31 03:56:19 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 03:56:19 - cd /src
TB --- 2012-07-31 03:56:19 - /usr/bin/make -B buildkernel KERNCONF=AP93
>>> Kernel build for AP93 started on Tue Jul 31 03:56:19 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=1 
--param large-function-growth=10 --param max-inline-insns-single=1  
-fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0x8005 -march=mips32 -msoft-float 
-ffreestanding -Werror  /src/sys/ddb/db_textdump.c
cc -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=1 
--param large-function-growth=10 --param max-inline-insns-single=1  
-fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0x8005 -march=mips32 -msoft-float 
-ffreestanding -Werror  /src/sys/ddb/db_variables.c
cc -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=1 
--param large-function-growth=10 --param max-inline-insns-single=1  
-fno-pic -mno-abicalls -G0 -DKERNLOADADDR=0x8005 -march=mips32 -msoft-float 
-ffreestanding -Werror  /src/sys/ddb/db_watch.c
cc -c -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -W

[head tinderbox] failure on ia64/ia64

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 02:47:05 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 02:47:05 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 02:47:05 - starting HEAD tinderbox run for ia64/ia64
TB --- 2012-07-31 02:47:05 - cleaning the object tree
TB --- 2012-07-31 02:47:05 - cvsupping the source tree
TB --- 2012-07-31 02:47:05 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/ia64/ia64/supfile
TB --- 2012-07-31 02:48:06 - building world
TB --- 2012-07-31 02:48:06 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 02:48:06 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 02:48:06 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 02:48:06 - SRCCONF=/dev/null
TB --- 2012-07-31 02:48:06 - TARGET=ia64
TB --- 2012-07-31 02:48:06 - TARGET_ARCH=ia64
TB --- 2012-07-31 02:48:06 - TZ=UTC
TB --- 2012-07-31 02:48:06 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 02:48:06 - cd /src
TB --- 2012-07-31 02:48:06 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 02:48:07 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Tue Jul 31 04:23:34 UTC 2012
TB --- 2012-07-31 04:23:34 - generating LINT kernel config
TB --- 2012-07-31 04:23:34 - cd /src/sys/ia64/conf
TB --- 2012-07-31 04:23:34 - /usr/bin/make -B LINT
TB --- 2012-07-31 04:23:34 - cd /src/sys/ia64/conf
TB --- 2012-07-31 04:23:34 - /usr/sbin/config -m LINT
TB --- 2012-07-31 04:23:34 - building LINT kernel
TB --- 2012-07-31 04:23:34 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 04:23:34 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 04:23:34 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 04:23:34 - SRCCONF=/dev/null
TB --- 2012-07-31 04:23:34 - TARGET=ia64
TB --- 2012-07-31 04:23:34 - TARGET_ARCH=ia64
TB --- 2012-07-31 04:23:34 - TZ=UTC
TB --- 2012-07-31 04:23:34 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 04:23:34 - cd /src
TB --- 2012-07-31 04:23:34 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 04:23:35 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common 
-finline-limit=15000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 
-mfixed-range=f32-f127 -fpic -ffreestanding -Werror  
/src/sys/dev/ata/chipsets/ata-promise.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common 
-finline-limit=15000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 
-mfixed-range=f32-f127 -fpic -ffreestanding -Werror  
/src/sys/dev/ata/chipsets/ata-serverworks.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -I/src/sys/contrib/ia64/libuwx/src -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common 
-finline-limit=15000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -fno-builtin -mconstant-gp -ffixed-r13 
-mfixed-range=f32-f127 -fpic -ffreestanding -Werror  
/src/sys/dev/ata/chipsets/ata-siliconimage.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contr

[head tinderbox] failure on sparc64/sparc64

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 03:57:17 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 03:57:17 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 03:57:17 - starting HEAD tinderbox run for sparc64/sparc64
TB --- 2012-07-31 03:57:17 - cleaning the object tree
TB --- 2012-07-31 03:58:31 - cvsupping the source tree
TB --- 2012-07-31 03:58:31 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/sparc64/sparc64/supfile
TB --- 2012-07-31 03:59:13 - building world
TB --- 2012-07-31 03:59:13 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 03:59:13 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 03:59:13 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 03:59:13 - SRCCONF=/dev/null
TB --- 2012-07-31 03:59:13 - TARGET=sparc64
TB --- 2012-07-31 03:59:13 - TARGET_ARCH=sparc64
TB --- 2012-07-31 03:59:13 - TZ=UTC
TB --- 2012-07-31 03:59:13 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 03:59:13 - cd /src
TB --- 2012-07-31 03:59:13 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 03:59:13 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Tue Jul 31 05:04:21 UTC 2012
TB --- 2012-07-31 05:04:21 - generating LINT kernel config
TB --- 2012-07-31 05:04:21 - cd /src/sys/sparc64/conf
TB --- 2012-07-31 05:04:21 - /usr/bin/make -B LINT
TB --- 2012-07-31 05:04:22 - cd /src/sys/sparc64/conf
TB --- 2012-07-31 05:04:22 - /usr/sbin/config -m LINT
TB --- 2012-07-31 05:04:22 - building LINT kernel
TB --- 2012-07-31 05:04:22 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 05:04:22 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 05:04:22 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 05:04:22 - SRCCONF=/dev/null
TB --- 2012-07-31 05:04:22 - TARGET=sparc64
TB --- 2012-07-31 05:04:22 - TARGET_ARCH=sparc64
TB --- 2012-07-31 05:04:22 - TZ=UTC
TB --- 2012-07-31 05:04:22 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 05:04:22 - cd /src
TB --- 2012-07-31 05:04:22 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 05:04:22 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_eth_z8e.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/mxge/mxge_rss_ethp_z8e.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float 
-ffreestanding -fstack-protector -Werror  /src/sys/dev/my/if_my.c
cc -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith 
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  
-Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/src/sys 
-I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 

[head tinderbox] failure on powerpc/powerpc

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 02:51:50 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 02:51:50 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 02:51:50 - starting HEAD tinderbox run for powerpc/powerpc
TB --- 2012-07-31 02:51:50 - cleaning the object tree
TB --- 2012-07-31 02:53:51 - cvsupping the source tree
TB --- 2012-07-31 02:53:51 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/powerpc/powerpc/supfile
TB --- 2012-07-31 02:55:00 - building world
TB --- 2012-07-31 02:55:00 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 02:55:00 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 02:55:00 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 02:55:00 - SRCCONF=/dev/null
TB --- 2012-07-31 02:55:00 - TARGET=powerpc
TB --- 2012-07-31 02:55:00 - TARGET_ARCH=powerpc
TB --- 2012-07-31 02:55:00 - TZ=UTC
TB --- 2012-07-31 02:55:00 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 02:55:00 - cd /src
TB --- 2012-07-31 02:55:00 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 02:55:01 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> World build completed on Tue Jul 31 05:11:44 UTC 2012
TB --- 2012-07-31 05:11:44 - generating LINT kernel config
TB --- 2012-07-31 05:11:44 - cd /src/sys/powerpc/conf
TB --- 2012-07-31 05:11:44 - /usr/bin/make -B LINT
TB --- 2012-07-31 05:11:44 - cd /src/sys/powerpc/conf
TB --- 2012-07-31 05:11:44 - /usr/sbin/config -m LINT
TB --- 2012-07-31 05:11:44 - building LINT kernel
TB --- 2012-07-31 05:11:44 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 05:11:44 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 05:11:44 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 05:11:44 - SRCCONF=/dev/null
TB --- 2012-07-31 05:11:44 - TARGET=powerpc
TB --- 2012-07-31 05:11:44 - TARGET_ARCH=powerpc
TB --- 2012-07-31 05:11:44 - TZ=UTC
TB --- 2012-07-31 05:11:44 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 05:11:44 - cd /src
TB --- 2012-07-31 05:11:44 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 05:11:44 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ata/chipsets/ata-promise.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ata/chipsets/ata-serverworks.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ata/chipsets/ata-siliconimage.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/s

[head tinderbox] failure on powerpc64/powerpc

2012-07-30 Thread FreeBSD Tinderbox
TB --- 2012-07-31 03:26:08 - tinderbox 2.9 running on freebsd-current.sentex.ca
TB --- 2012-07-31 03:26:08 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE 
FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 
d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC  amd64
TB --- 2012-07-31 03:26:08 - starting HEAD tinderbox run for powerpc64/powerpc
TB --- 2012-07-31 03:26:08 - cleaning the object tree
TB --- 2012-07-31 03:28:47 - cvsupping the source tree
TB --- 2012-07-31 03:28:47 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca 
/tinderbox/HEAD/powerpc64/powerpc/supfile
TB --- 2012-07-31 03:30:22 - building world
TB --- 2012-07-31 03:30:22 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 03:30:22 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 03:30:22 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 03:30:22 - SRCCONF=/dev/null
TB --- 2012-07-31 03:30:22 - TARGET=powerpc
TB --- 2012-07-31 03:30:22 - TARGET_ARCH=powerpc64
TB --- 2012-07-31 03:30:22 - TZ=UTC
TB --- 2012-07-31 03:30:22 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 03:30:22 - cd /src
TB --- 2012-07-31 03:30:22 - /usr/bin/make -B buildworld
>>> World build started on Tue Jul 31 03:30:24 UTC 2012
>>> Rebuilding the temporary build tree
>>> stage 1.1: legacy release compatibility shims
>>> stage 1.2: bootstrap tools
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3: cross tools
>>> stage 4.1: building includes
>>> stage 4.2: building libraries
>>> stage 4.3: make dependencies
>>> stage 4.4: building everything
>>> stage 5.1: building 32 bit shim libraries
>>> World build completed on Tue Jul 31 06:12:05 UTC 2012
TB --- 2012-07-31 06:12:05 - generating LINT kernel config
TB --- 2012-07-31 06:12:05 - cd /src/sys/powerpc/conf
TB --- 2012-07-31 06:12:05 - /usr/bin/make -B LINT
TB --- 2012-07-31 06:12:05 - cd /src/sys/powerpc/conf
TB --- 2012-07-31 06:12:05 - /usr/sbin/config -m LINT
TB --- 2012-07-31 06:12:05 - building LINT kernel
TB --- 2012-07-31 06:12:05 - CROSS_BUILD_TESTING=YES
TB --- 2012-07-31 06:12:05 - MAKEOBJDIRPREFIX=/obj
TB --- 2012-07-31 06:12:05 - PATH=/usr/bin:/usr/sbin:/bin:/sbin
TB --- 2012-07-31 06:12:05 - SRCCONF=/dev/null
TB --- 2012-07-31 06:12:05 - TARGET=powerpc
TB --- 2012-07-31 06:12:05 - TARGET_ARCH=powerpc64
TB --- 2012-07-31 06:12:05 - TZ=UTC
TB --- 2012-07-31 06:12:05 - __MAKE_CONF=/dev/null
TB --- 2012-07-31 06:12:05 - cd /src
TB --- 2012-07-31 06:12:05 - /usr/bin/make -B buildkernel KERNCONF=LINT
>>> Kernel build for LINT started on Tue Jul 31 06:12:05 UTC 2012
>>> stage 1: configuring the kernel
>>> stage 2.1: cleaning up the object tree
>>> stage 2.2: rebuilding the object tree
>>> stage 2.3: build tools
>>> stage 3.1: making dependencies
>>> stage 3.2: building everything
[...]
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -mcall-aixdesc -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ata/chipsets/ata-promise.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -mcall-aixdesc -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ata/chipsets/ata-serverworks.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option   -nostdinc  -I. -I/src/sys -I/src/sys/contrib/altq 
-I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 
--param large-function-growth=1000 -fno-builtin -msoft-float -Wa,-many 
-fno-omit-frame-pointer -msoft-float -mno-altivec -mcall-aixdesc -ffreestanding 
-fstack-protector -Werror  /src/sys/dev/ata/chipsets/ata-siliconimage.c
cc -c -O -pipe  -std=c99  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wundef -Wno-pointer-si