Date: Fri, 6 Oct 2017 18:41:27 -0700 From: Andre McCurdy <armccurdy@...il.com> To: musl@...ts.openwall.com Subject: Re: How to handle attempts to combine ARM Thumb with frame pointers? On Fri, Oct 6, 2017 at 5:53 PM, Andre McCurdy <armccurdy@...il.com> wrote: > When compiling for ARM Thumb or Thumb2 with frame pointers enabled (ie > -O0 or with -fno-omit-frame-pointer in CFLAGS) the frame pointer is > stored in r7, which leads to build errors ("error: r7 cannot be used > in asm here") whenever a syscall macro is included in a C function. > It's certainly a corner case, but one which I've run into recently. > > Would it be worth trying to catch this combination earlier and failing > from the configure script? It's not trivial to do reliably since I > think detecting whether or not frame pointers are going to be used by > examining CFLAGS means determining the effective optimisation level if > multiple -O0, -Os, etc options are given, together with the effective > outcome of potentially multiple -fno-omit-frame-pointer and > -fomit-frame-pointer options. > > I can work on a patch for the configure script but first wanted to > check what the philosophy is - should the configure script be trying > to catch every possible misconfiguration? Sorry to reply to my own thread, but it looks like this long standing clang bug may actually be due to this same issue: http://clang-developers.42468.n3.nabble.com/Bug-in-ARM-Thumb-inline-asm-td4043905.html https://bugs.llvm.org/show_bug.cgi?id=34165 The only real difference being that where gcc aborts with an error about reusing r7, clang silently generates broken code :-(
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.