如何确定哪个编译器 flag/option 导致“--p”被传递给汇编器?

How to determine which compiler flag/option causes "--p" to be passed to assembler?

我正在尝试使用自定义 risc-v 工具链构建 musl C 库,该工具链使用 GNU gcc 8.1.0 版、GNU 汇编程序 2.34 版。

我得到的错误如下:

home/guillermo/toolchain/as: invalid option -- 'p'

但是,使用 gcc 的详细标志并作为对汇编器的最后一次调用如下(其中不包括这样的“--p”标志):

/home/guillermo/toolchain/as -v -I ./arch/riscv64 -I ./arch/generic -I obj/src/internal -I ./src/include -I ./src/internal -I obj/include -I ./include -I /home/guillermo/toolchain/library/common --traditional-format -fpic -march=rv64imafdc -mabi=lp64d --noexecstack -o obj/crt/Scrt1.o

之前调用gcc是:

 /home/guillermo/toolchain/riscv64-gcc -nostdinc -v -I ./arch/riscv64 -I ./arch/generic -I obj/src/internal -I ./src/include -I ./src/internal -I obj/include -I ./include -I /home/guillermo/toolchain/library/common -D _XOPEN_SOURCE=700 -D CRT crt/Scrt1.c -quiet -dumpbase Scrt1.c -march=rv64imafdc -mabi=lp64d -auxbase-strip obj/crt/Scrt1.o -g -Os -Werror=implicit-function-declaration -Werror=implicit-int -Werror=pointer-sign -Werror=pointer-arith -Wno-tautological-compare -Wall -std=c99 -version -ffreestanding -fexcess-precision=standard -frounding-math -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -fPIC -fno-stack-protector -o - |

任何关于什么编译器标志可能导致“--p”被传递给汇编器的帮助将不胜感激。

-fpic 是编译器的一个选项。它对汇编程序没有特殊意义,将其视为与 -f -p -i -c.

相同