VirtualBox

Ignore:
Timestamp:
Mar 19, 2021 6:42:55 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143380
Message:

Solaris-specific changes needed for building VBox on Solaris 11.4.
ticketref:9956

/Config.kmk,tools/Makefile.kmk: The Solaris package FMRI changed in
Solaris 11.4 so further care is needed when parsing the 'pkg contents -o
pkg.fmri' output. Some further simplification done as well as only the
Solaris 11 update and build number are needed for feature checking
elsewhere.

Additions/solaris/DRM: In Solaris 11 FCS <sys/queue.h> was taken from
FreeBSD and added to the OS. VirtualBox copied this file to
Additions/solaris/DRM/include and it is included by
Additions/solaris/DRM/include/drmP.h. Solaris 11.4 modified <sys/modctl.h>
to include <sys/queue.h> and drmP.h includes <sys/modctl.h> so thus
drmP.h shouldn't include queue.h on Solaris 11.4 FCS and later.

Additions/solaris/SharedFolders,Runtime/r0drv/solaris: Solaris 11.4
removed the 'alignment' argument from the VM map_addr() and
choose_addr() routines so we now leverage RTR0DbgKrnlInfoQuerySymbol()
at module initialization to determine which version of these functions
needs to be invoked.

Runtime/r0drv/solaris: In Solaris 11.4 the VM seg_ops getpolicy()
routine changed its return value and added an extra argument but since
we don't need to do anything for this and Solaris 10 and 11 both check
for a non-NULL s_ops->getpolicy() entry or else for s_ops->capable()
before calling getpolicy() we just set the s_SegVBoxOps getpolicy()
entry to NULL. Solaris 11.4 also added an extra argument to the VM
seg_ops dump() routine but there aren't any checks made before calling
it. Since we don't do anything with dump() we just use #ifdefs to get
the correct prototype at build-time.

Additions/x11/vboxvideo: The Xorg vboxvideo_drv.so shared object on
Solaris 11.4 has an undefined weak symbol reference to assert_c99
which needs to be added to the undefined_xorg file.

Location:
trunk/src/VBox/Additions/solaris/DRM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/solaris/DRM/Makefile.kmk

    r82968 r88215  
    4040vboxvideo_DEFS          = VBOX_WITH_HGCM VBOX_SVN_REV=$(VBOX_SVN_REV)
    4141vboxvideo_DEPS         += $(VBOX_SVN_REV_KMK)
     42if ($(VBOX_SOLARIS_11_UPDATE_VERSION) > 3)
     43vboxvideo_DEFS         += VBOX_WITH_SYSTEM_QUEUE_H
     44endif
    4245vboxvideo_INCS         := \
    4346        include/
  • trunk/src/VBox/Additions/solaris/DRM/include/drmP.h

    r33540 r88215  
    5858#include "drm_atomic.h"
    5959#include "drm.h"
    60 #include "queue.h"
     60#if !defined(VBOX_WITH_SYSTEM_QUEUE_H)
     61# include "queue.h"
     62#endif
    6163#include "drm_linux_list.h"
    6264
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette