https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64810

--- Comment #10 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Trying a hw watchpoint:
  (gdb) watch global_options.x_arm_float_abi
shows this is never touched within test-empty.c.exe

Invoking ./xgcc verbosely on an empty C file:

  $ ./xgcc -c -xc -v -B. -save-temps /dev/null

I note that ./cc1 and ./as are being invoked with various pertinent "-m"
options:

./cc1 -fpreprocessed null.i -quiet -dumpbase null -march=armv7-a
-mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -auxbase null -version -o
null.s


./as -v -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 -o null.o
null.s


(e.g. -mfloat-abi=hard etc)

null.s looks like this:
        .arch armv7-a
        .eabi_attribute 28, 1
        .fpu vfpv3-d16
        .eabi_attribute 20, 1
        .eabi_attribute 21, 1
        .eabi_attribute 23, 3
        .eabi_attribute 24, 1
        .eabi_attribute 25, 1
        .eabi_attribute 26, 2
        .eabi_attribute 30, 6
        .eabi_attribute 34, 1
        .eabi_attribute 18, 4
        .arm
        .syntax divided
        .file   "null"
        .ident  "GCC: (GNU) 5.0.0 20150126 (experimental)"
        .section        .note.GNU-stack,"",%progbits

Under non-jit operation the driver seems to invoking cc1 with -m options based
on configure-time settings, whereas within the jit, jit-playback.c builds an
argv for toplev::main analogous to invoking cc1, but doesn't attempt to inject
these additional -m options, hence we get a bogus .fpu attribute, and indeed,
the other settings are likely to be bogus also.

Reply via email to