Bug 229484

Summary: graphics/drm-stable-kmod: Compiling error: invalid operand for instruction ATOMIC_ASM
Product: Base System Reporter: O. Hartmann <ohartmann>
Component: kernAssignee: Johannes M Dieterich <jmd>
Status: Closed FIXED    
Severity: Affects Many People CC: cy, emaste, jkim, x11, zeising
Priority: --- Flags: bugzilla: maintainer-feedback? (jmd)
Version: CURRENT   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
64-bit immediate cannot be used none

Description O. Hartmann 2018-07-03 07:42:46 UTC
Building graphics/drm-stable-kmod via /etc/src.conf "PORTS_MODULES" with every kernel build, after the upgrade of CURRENT's sources from r335867 to r335884, building the module fails now with

[...]
In file included from i915_drv.c:30:
In file included from /usr/obj/usr/src/amd64.amd64/sys/FOO/usr/ports/graphics/drm-stable-kmod/work/kms-drm-a753215/linuxkpi/gplv2/include/linux/acpi.h:26:
In file included from /usr/obj/usr/src/amd64.amd64/sys/FOO/usr/ports/graphics/drm-stable-kmod/work/kms-drm-a753215/linuxkpi/gplv2/include/linux/device.h:4:
In file included from /usr/src/sys/compat/linuxkpi/common/include/linux/device.h:35:
In file included from /usr/src/sys/compat/linuxkpi/common/include/linux/types.h:37:
In file included from /usr/src/sys/sys/systm.h:44:
./machine/atomic.h:450:29: error: invalid operand for instruction
ATOMIC_ASM(clear,    long,  "andq %1,%0",  "ir", ~v);
                            ^
<inline asm>:1:7: note: instantiated into assembly here
        andq $9223372036854775807,40672(%r14)
             ^~~~~~~~~~~~~~~~~~~~~
1 error generated.
*** Error code 1
[...]

The same happens to emulators/virtualbox-ose-kmod.

The building host is at FreeBSD 12.0-CURRENT #142 r335867: Mon Jul  2 20:10:23 CEST 2018 amd64. The CURRENT sources I try to compile are at revision 335884.

There have been made changes to the core system, especially r335873. Reverting r335873 doesnt help much (I'm using META_MODE), since then I run into linker problems. Maybe this is a hint to solve the problem.
Comment 1 Jung-uk Kim freebsd_committer freebsd_triage 2018-07-03 19:16:06 UTC
Created attachment 194866 [details]
64-bit immediate cannot be used

Please try the patch.
Comment 2 Jung-uk Kim freebsd_committer freebsd_triage 2018-07-03 19:21:06 UTC
Comment on attachment 194866 [details]
64-bit immediate cannot be used

"I" seems wrong constraint.  jhb has a better patch.
Comment 3 Niclas Zeising freebsd_committer freebsd_triage 2018-07-04 19:38:38 UTC
It is believed this has been patched.  Can you confirm you have a working environment?
Comment 4 O. Hartmann 2018-07-05 05:17:07 UTC
I can confirm, that the reported issue with the module isn't anymore in this case.