Page MenuHomeFreeBSD

arm atomic-v6.h: Use eoreqs rather than eorseq to appease GNU as.
AcceptedPublic

Authored by jhb on Sep 27 2022, 5:42 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jul 10, 1:26 PM
Unknown Object (File)
Sun, Jul 6, 10:31 PM
Unknown Object (File)
Mon, Jun 30, 11:08 AM
Unknown Object (File)
Sun, Jun 29, 4:21 AM
Unknown Object (File)
Mon, Jun 16, 11:55 AM
Unknown Object (File)
Mar 22 2025, 8:41 AM
Unknown Object (File)
Mar 11 2025, 12:46 AM
Unknown Object (File)
Feb 27 2025, 8:03 AM
Subscribers

Details

Reviewers
imp
manu
andrew
Summary

GNU as seems to require the 's' flag after the condition code
rather than before it which seems consistent with the instruction
description for EOR in the ARM ARM. Curiously, however, objdump -d
from binutils displays the instruction as eorseq.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 47569
Build 44456: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Sep 27 2022, 5:42 PM

If it build with both clang and gcc, this is fine

This revision is now accepted and ready to land.Sep 27 2022, 5:43 PM

eorseq is correct as it's created from the eors instruction and eq condition code.

My copy of the ARM ARM (for Armv8/9) has it as EORS{<c>}{<q>} where <c> is the condition code. The <q> is unimportant here as it's to tell the assembler to use a 16 or 32 bit Thumb instruction.

I guess GCC isn't emitting .syntax unified to enable Unified Assembler Language.

Hmm, shouldn't the -masm-syntax-unified be added to gcc CFLAGS? (just guessing, untested)

Hmm, shouldn't the -masm-syntax-unified be added to gcc CFLAGS? (just guessing, untested)

Yes, I just haven't gotten back to testing the right CFLAGS fix.