Nvidia 364.12

Luca Boccassi luca.boccassi at gmail.com
Thu Mar 31 21:01:01 UTC 2016


On Tue, 2016-03-22 at 23:01 +0000, Luca Boccassi wrote:
> On Mon, 2016-03-21 at 23:21 +0000, Luca Boccassi wrote:
> > DKMS builds fine for all architectures on all kernels, but the source
> > build does not work which is strange, but I don't think I've fully
> > tested it for the 361 release either so it's probably something to do
> > with the new kernel modules. I'll investigate in the next couple of
> > days.
> 
> Ah, it's only one source build that's failing. Obviously it's the only
> one I tried yesterday :-)
> All the sources and dkms builds are fine, apart from the arm + 4.5.0-rc7
> which is failing
> 
> It's quite a weird one, as the problem is that conftest.sh is not
> enabling a define where it should:
> 
>         drm_init_functions_have_name_arg)
>             #
>             # Determine if these functions:
>             #   drm_universal_plane_init()
>             #   drm_crtc_init_with_planes()
>             #   drm_encoder_init()
>             # have a 'name' argument, which was added by these commits:
>             #   drm_universal_plane_init:   2015-12-09
> b0b3b7951114315d65398c27648705ca1c322faa
>             #   drm_crtc_init_with_planes:  2015-12-09
> f98828769c8838f526703ef180b3088a714af2f9
>             #   drm_encoder_init:           2015-12-09
> 13a3d91f17a5f7ed2acd275d18b6acfdb131fb15
>             #
>             CODE="
>             #include <drm/drmP.h>
>             int conftest_drm_init_functions_have_name_arg(void) {
>                 return
>                     drm_universal_plane_init(
>                             NULL,  /* struct drm_device *dev */
>                             NULL,  /* struct drm_plane *plane */
>                             0,     /* unsigned long possible_crtcs */
>                             NULL,  /* const struct drm_plane_funcs
> *funcs */
>                             NULL,  /* const uint32_t *formats */
>                             0,     /* unsigned int format_count */
>                             DRM_PLANE_TYPE_PRIMARY,
>                             NULL)  /* const char *name */
>                         &&
>                     drm_crtc_init_with_planes(
>                             NULL,  /* struct drm_device *dev */
>                             NULL,  /* struct drm_crtc *crtc */
>                             NULL,  /* struct drm_plane *primary */
>                             NULL,  /* struct drm_plane *cursor */
>                             NULL,  /* const struct drm_crtc_funcs *funcs
> */
>                             NULL)  /* const char *name */
>                         &&
>                     drm_encoder_init(
>                             NULL,  /* struct drm_device *dev */
>                             NULL,  /* struct drm_encoder *encoder */
>                             NULL,  /* const struct drm_encoder_funcs
> *funcs */
>                             DRM_MODE_ENCODER_NONE, /* int encoder_type
> */
>                             NULL); /* const char *name */
>             }"
> 
>             compile_check_conftest "$CODE"
> "NV_DRM_INIT_FUNCTIONS_HAVE_NAME_ARG" "" "types"
> 
> With 4.5.0-rc7 on amd64/i386 this define is correctly added, but not on
> arm. But I verified that the definitions of those functions are
> identical in all headers package, there's no discrepancy in the armmp
> one. But conftest.sh does not agree, and disables the flag on arm,
> causing a module build failure.
> 
> I'll dig deeper in the next few days.

Found the issue, and committed nvidia_drm_arm_cflags.patch to fix it.
That test fails to build, at least against kernel 4.5 in an armhf chroot
via qemu-debootstrap. Adding -Wa,-mimplicit-it=thumb to the CFLAGS fixes
the problem.

The error was:

   /tmp/ccy8zHSc.s: Assembler messages:
   /tmp/ccy8zHSc.s:97: Error: thumb conditional instruction should be in
IT block -- `movne r0,#1'

Kind regards,
Luca Boccassi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-nvidia-devel/attachments/20160331/8d716546/attachment.sig>


More information about the pkg-nvidia-devel mailing list