Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Unaligned access in kernel on ARMv6+ (Re: CVS commit: src/sys/dev/usb)



On Jan 6,  5:46pm, rokuyama%rk.phys.keio.ac.jp@localhost (Rin Okuyama) wrote:
-- Subject: Unaligned access in kernel on ARMv6+ (Re: CVS commit: src/sys/dev

| I guess other codes can be miscompiled if -mno-unaligned-access is
| not specified. Can I commit the patch?

I believe this is the right way to do it, since we don't want unaligned
accesses in the kernel.

Best,

christos
| 
| Thanks,
| rin
| ----
| Index: sys/arch/arm/conf/Makefile.arm
| ===================================================================
| RCS file: /home/netbsd/src/sys/arch/arm/conf/Makefile.arm,v
| retrieving revision 1.49
| diff -p -u -r1.49 Makefile.arm
| --- sys/arch/arm/conf/Makefile.arm	22 Sep 2018 12:24:01 -0000	1.49
| +++ sys/arch/arm/conf/Makefile.arm	6 Jan 2019 08:14:56 -0000
| @@ -53,6 +53,13 @@ CPPFLAGS.cpufunc_asm_armv6.S+=	-mcpu=arm
|   CPPFLAGS.cpufunc_asm_arm11.S+=	-mcpu=arm1136j-s
|   CPPFLAGS.cpufunc_asm_xscale.S+=	-mcpu=xscale
|   
| +# For GCC, -munaligned-access is enabled by default for ARMv6+.
| +# But the unaligned access is forbidden in the supervisor mode.
| +.if (!empty(MACHINE_ARCH:Mearmv6*) || !empty(MACHINE_ARCH:Mearmv7*)) \
| +    && ${ACTIVE_CC} == "gcc"
| +CFLAGS+=	-mno-unaligned-access
| +.endif
| +
|   ##
|   ## (3) libkern and compat
|   ##
-- End of excerpt from Rin Okuyama




Home | Main Index | Thread Index | Old Index