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