MFC r251431:

Pull in r183297 from upstream llvm trunk:

  PR15662: Optimized debug info produces out of order function
  parameters

  When a function is inlined we lazily construct the variables
  representing the function's parameters. After that, we add any
  remaining unused parameters.

  If the function doesn't use all the parameters, or uses them out of
  order, then the DWARF would produce them in that order, producing a
  parameter order that doesn't match the source.

  This fix causes us to always keep the arg variables at the start of
  the variable list & in the original order from the source.

Reported by:	avg


git-svn-id: svn://svn.freebsd.org/base/stable/9@251645 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r240403 (obrien):
  Not all Pmake derivatives silently handle empty shell output, so ensure
  there is something for make(1) to consume.  Bmake gives output such as:
  "warning: Couldn't read shell's output for "/bin/sh -c true"

Approved by:	kib (mentor)


git-svn-id: svn://svn.freebsd.org/base/stable/9@251653 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r250617

etc/rc.d/syslogd
	Add netif as a requirement of syslogd to get lo0 up.  Currently, this
	doesn't affect the rc order, because mountcritremote already depends on
	netif.

Reviewed by:	eadler
Approved by:	ken (mentor)


git-svn-id: svn://svn.freebsd.org/base/stable/9@251663 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC: 236567

Integrate a fix for a very odd signal delivery problem found
by Bryan Cantril and others in the Solaris/Illumos version of DTrace.

Obtained from: https://www.illumos.org/issues/789


git-svn-id: svn://svn.freebsd.org/base/stable/9@251666 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r250662

sbin/camcontrol/camcontrol.c
	If an expander returns 0x00 (no device attached) in the ATTACHED DEVICE
	field of the SMP DISCOVER response, ignore the value of ATTACHED SAS
	ADDRESS, because it is invalid.  Some expanders zero out the address
	when the attached device is removed, but others do not.  Section
	9.4.3.10 of the SAS Protocol Layer 2 revision 04b does not require them
	to do so.

Approved by:	ken (mentor)


git-svn-id: svn://svn.freebsd.org/base/stable/9@251669 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251396

sys/dev/mps/mps.c
sys/dev/mps/mps_user.c
        Fix uninitialized memory reference in mps_read_config_page.  It was
        referencing a field (params->hdr.Ext.ExtPageType) that would only be
        set when reading an Extended config page.  The symptom was that
        MPSIO_READ_CFG_PAGE ioctls would randomly fail with
        MPI2_IOCSTATUS_CONFIG_INVALID_PAGE errors.  The solution is to
        determine whether an extended or an ordinary config page is requested
        by looking at the PageType field, which should be available regardless.

        Similarly, mps_user_read_extcfg_header and mps_user_read_extcfg_page,
        which call mps_read_config_page, had to be fixed to always set the
        PageType field.  They were implicitly assuming that
        mps_read_config_page always operated on Extended pages.

Reviewed by:	ken
Approved by:	ken (mentor)


git-svn-id: svn://svn.freebsd.org/base/stable/9@251670 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC: r251089
Add a patch analygous to r248567, r248581, r251079 to the
old NFS client to avoid the panic reported in the PR by
doing the vnode_pager_setsize() call after unlocking the mutex.


git-svn-id: svn://svn.freebsd.org/base/stable/9@251671 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge remote-tracking branch 'upstream/svn_stable_9' into svn_stable_9