Closed crazyquark closed 7 months ago
@crazyquark Did you success in supporting M1 processors?
@ahmedsamiruci yes, I had to use some preprocessor magic on that assembly file to use different code when the compiler is clang.
@pah: Could you maybe have a look on this issue?
Included in SystemC 3.0.0 release
Hi,
We are building LLVM 13 from sources on macOS - arm64 on an Apple M1 computer(from the official repo, not Apple's fork) and building
systemc
with the resulting compiler. This leads to an unusual situation: (runningnm -m
on the resulting lib)As you can see it erroneously generates a
br
indirect symbol - which ledlld
to report it cannot handleN_INDR
symbols when linking the above lib. If I change this code: https://github.com/accellera-official/systemc/blob/master/src/sysc/packages/qt/md/aarch64.s#L26 frombr =qt_error
toor just:
b qt_error
then the error goes away. I suspect thebr
instruction is misused as it should be used with a register and not an address/label. P.S. Another issue is thatqt_error
is actually exported as_qt_error
by the linker whencmake
is used to build.