Port-arm archive

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

GCC 5.x vs. the old ARM ABI.



hi folks.


the release notes for GCC 5 state that the old abi has been deprecated,
and i assume that means it will be removed in GCC 6.  this means that
our support for MKCOMPAT=yes on arm will become impossible with GCC 6.

i don't think anyone is too surprised or upset about this.  we were
lagging the arm eabi train quite a lot.  we can probably keep the
support to execute these still, no problem, and even add tests with
binaries to the testsuite.  users will just have to supply the needed
parts (ld.so, shlibs, etc.)

but there's a problem with GCC 5 and oabi.  it doesn't work.  i have
two different failure modes.  building a oabi world crashes here:

/usr/src8/external/apache2/mDNSResponder/dist/mDNSCore/mDNS.c: In function 'mDNS_RegisterService':
/usr/src8/external/apache2/mDNSResponder/dist/mDNSCore/mDNS.c:9912:2: internal compiler error: Segmentation fault
  }
  ^

and building an eabi world with MKCOMPAT=yes dies while building the
oabi libgcc with:

      build  libgcc_s/libgcc_s.so.1.0
libgcc_s_pic.a(_ctors.pico):(.bss+0x0): multiple definition of `__DTOR_LIST__'
/var/obj/shark-earmv4/usr/src8/destdir.shark/usr/lib/../lib/oabi/crtbeginS.o:(.dtors+0x0): first defined here
/var/obj/shark-earmv4/usr/src8/tooldir.NetBSD-7.0_STABLE-amd64/lib/gcc/armv4--netbsdelf-eabi/5.3.0/../../../../armv4--netbsdelf-eabi/bin/ld: Warning: size of symbol `__DTOR_LIST__' changed from 4 in /var/obj/shark-earmv4/usr/src8/destdir.shark/usr/lib/../lib/oabi/crtbeginS.o to 8 in libgcc_s_pic.a(_ctors.pico)

so there are multiple new bugs in OABI.  no one i've spoken to is
very willing to investigate these problems, since we all know that
it's destined to be thrown away next GCC release.

i plan to disable MKCOMPAT=yes for arm and HAVE_GCC >= 53.  however,
if someone would like to step up and fix these, that would be great
and that work will be used.  contact me off-list if you're willing.

thanks.


.mrg.


Home | Main Index | Thread Index | Old Index