Incorrect processor define on Apple M1

Thomas Braun via omniORB-list <[email protected]> Fri, 14 Apr 2023 12:36:09 +0200
Newsgroups gmane.comp.corba.omniorb.user
Message-ID <[email protected]>
Hello,

we do have some issues on cppTango, which uses omniORB, with obvious
crashes on Apple M1.

The problem seems to be that the omniORB pkg-config files use the wrong
processor defines.

configure.ac has:

####
case "$host" in
  i?86-*)   proc_name="x86Processor";     proc_def="__x86__";;
  x86_64-*) proc_name="x8664Processor";   proc_def="__x86_64__";;
  sparc-*)  proc_name="SparcProcessor";   proc_def="__sparc__";;
  alpha*)   proc_name="AlphaProcessor";   proc_def="__alpha__";;
  m68k-*)   proc_name="m68kProcessor";    proc_def="__m68k__";;
  mips*)    proc_name="IndigoProcessor";  proc_def="__mips__";;
  arm-*)    proc_name="ArmProcessor";     proc_def="__arm__";;
  s390-*)   proc_name="s390Processor";    proc_def="__s390__";;
  ia64-*)   proc_name="ia64Processor";    proc_def="__ia64__";;
  hppa*)    proc_name="HppaProcessor";    proc_def="__hppa__";;
  powerpc*) proc_name="PowerPCProcessor"; proc_def="__powerpc__";;
esac

AC_SUBST(PROCESSOR_NAME, $proc_name)
AC_SUBST(PROCESSOR_DEFINE, $proc_def)
####

and that gives

PROCESSOR_DEFINE='__arm__'
PROCESSOR_NAME='ArmProcessor'

IMHO __arm__ is wrong here according to [1] and

clang -dM -E - < /dev/null | grep __arm
#define __arm64 1
#define __arm64__ 1

Does that make sense?

Thanks,
Thomas

[1]:
https://opensource.apple.com/source/WTF/WTF-7601.1.46.42/wtf/Platform.h.auto.html

_______________________________________________
omniORB-list mailing list
[email protected]
https://www.omniorb-support.com/mailman/listinfo/omniorb-list
config.log.gz (application/gzip, 10 KB) - not displayed