On Wed, Dec 21, 2016 at 08:05:28PM +0100, Nico Huber wrote:
> On 21.12.2016 02:53, Jonathan Neuschäfer wrote:
[...]
> That's known trouble due to their GCC using `-fpie/-pie` by default now.
> One way to work around is adding `-with-pic` to the configure step when
> building GMP.
>
> We could do that automatically. I guess, there is something in `gcc
> -dumpspecs` that could be used. Can you provide that output for the
> failing GCC, please.
>
> Nico
$ gcc --version
gcc (Debian 6.2.1-5) 6.2.1 20161124
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc -dumpspecs
<see attachment>
Regards,
Jonathan
*asm:
%{m16|m32:--32} %{m16|m32|mx32:;:--64} %{mx32:--x32}
%{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}
*asm_debug:
%{!g0:%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}}
%{fdebug-prefix-map=*:--debug-prefix-map %*}
*asm_final:
%{gsplit-dwarf:
objcopy --extract-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O}
%{c:%{o*:%:replace-extension(%{o*:%*} .dwo)}%{!o*:%b.dwo}}%{!c:%b.dwo}
objcopy --strip-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} }
*asm_options:
%{-target-help:%:print-asm-header()} %{v} %{w:-W} %{I*} %{gz*:%e-gz is not
supported in this configuration} %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o
%d%w%u%O}
*invoke_as:
%{!fwpa*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()}
%{!S:-o %|.s |
as %(asm_options) %m.s %A } }
*cpp:
%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
*cpp_options:
%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}
%{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*}
%{undef} %{save-temps*:-fpch-preprocess}
*cpp_debug_options:
%{d*}
*cpp_unique_options:
%{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*&F*} %{P} %I %{MD:-MD
%{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*}
%{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{!MT:%{!MQ:%{MD|MMD:%{o*:-MQ
%*}}}}}}} %{remap} %{g3|ggdb3|gstabs3|gcoff3|gxcoff3|gvms3:-dD}
%{!iplugindir*:%{fplugin*:%:find-plugindir()}} %{H} %C %{D*&U*&A*} %{i*} %Z %i
%{E|M|MM:%W{o*}}
*trad_capable_cpp:
cc1 -E %{traditional|traditional-cpp:-traditional-cpp}
*cc1:
%{!mandroid|tno-android-cc:%(cc1_cpu) %{profile:-p};:%(cc1_cpu) %{profile:-p}
%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}}
%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}}
*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}
%{!iplugindir*:%{fplugin*:%:find-plugindir()}} %1 %{!Q:-quiet}
%{!dumpbase:-dumpbase %B} %{d*} %{m*} %{aux-info*}
%{fcompare-debug-second:%:compare-debug-auxbase-opt(%b)}
%{!fcompare-debug-second:%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase
%b}}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w}
%{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef}
%{Qn:-fno-ident} %{Qy:} %{-help:--help} %{-target-help:--target-help}
%{-version:--version} %{-help=*:--help=%*} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o
%b.s}}} %{fsyntax-only:-o %j} %{-param*} %{coverage:-fprofile-arcs
-ftest-coverage}
*cc1plus:
*link_gcc_c_sequence:
%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
*link_ssp:
%{fstack-protector|fstack-protector-all|fstack-protector-strong|fstack-protector-explicit:}
*endfile:
%{!mandroid|tno-android-ld:%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}
%{mpc32:crtprec32.o%s} %{mpc64:crtprec64.o%s} %{mpc80:crtprec80.o%s}
%{fvtable-verify=none:%s; fvtable-verify=preinit:vtv_end_preinit.o%s;
fvtable-verify=std:vtv_end.o%s} %{shared:crtendS.o%s;:
%{no-pie|static|r|shared:;:crtendS.o%s} %{no-pie|static:crtend.o%s}}
crtn.o%s ;:%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}
%{mpc32:crtprec32.o%s} %{mpc64:crtprec64.o%s} %{mpc80:crtprec80.o%s}
%{shared: crtend_so%O%s;: crtend_android%O%s}}
*link:
%{!r:--build-id} %{!static:--eh-frame-hdr}
%{!mandroid|tno-android-ld:%{m16|m32|mx32:;:-m elf_x86_64}
%{m16|m32:-m elf_i386} %{mx32:-m elf32_x86_64}
--hash-style=gnu %{shared:-shared} %{!shared: %{!static:
%{rdynamic:-export-dynamic} %{m16|m32:-dynamic-linker
%{muclibc:/lib/ld-uClibc.so.0;:%{mbionic:/system/bin/linker;:%{mmusl:/lib/ld-musl-i386.so.1;:/lib/ld-linux.so.2}}}}
%{m16|m32|mx32:;:-dynamic-linker
%{muclibc:/lib/ld64-uClibc.so.0;:%{mbionic:/system/bin/linker64;:%{mmusl:/lib/ld-musl-x86_64.so.1;:/lib64/ld-linux-x86-64.so.2}}}}
%{mx32:-dynamic-linker
%{muclibc:/lib/ldx32-uClibc.so.0;:%{mbionic:/system/bin/linkerx32;:%{mmusl:/lib/ld-musl-x32.so.1;:/libx32/ld-linux-x32.so.2}}}}}
%{static:-static}};:%{m16|m32|mx32:;:-m elf_x86_64}
%{m16|m32:-m elf_i386} %{mx32:-m elf32_x86_64}
--hash-style=gnu %{shared:-shared} %{!shared: %{!static:
%{rdynamic:-export-dynamic} %{m16|m32:-dynamic-linker
%{muclibc:/lib/ld-uClibc.so.0;:%{mbionic:/system/bin/linker;:%{mmusl:/lib/ld-musl-i386.so.1;:/lib/ld-linux.so.2}}}}
%{m16|m32|mx32:;:-dynamic-linker
%{muclibc:/lib/ld64-uClibc.so.0;:%{mbionic:/system/bin/linker64;:%{mmusl:/lib/ld-musl-x86_64.so.1;:/lib64/ld-linux-x86-64.so.2}}}}
%{mx32:-dynamic-linker
%{muclibc:/lib/ldx32-uClibc.so.0;:%{mbionic:/system/bin/linkerx32;:%{mmusl:/lib/ld-musl-x32.so.1;:/libx32/ld-linux-x32.so.2}}}}}
%{static:-static}} %{shared: -Bsymbolic}}
*lib:
%{!mandroid|tno-android-ld:%{pthread:-lpthread} %{shared:-lc}
%{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}};:%{shared:-lc}
%{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}} %{!static: -ldl}}
*link_gomp:
*libgcc:
%{static|static-libgcc:-lgcc
-lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s
--no-as-needed}%{shared-libgcc:-lgcc_s%{!shared: -lgcc}}}}
*startfile:
%{!mandroid|tno-android-ld:%{!shared: %{pg|p|profile:gcrt1.o%s;:
%{no-pie|static|r|shared:;:Scrt1.o%s} %{no-pie|static:crt1.o%s}}} crti.o%s
%{static:crtbeginT.o%s;: %{shared:crtbeginS.o%s}
%{no-pie|static|r|shared:;:crtbeginS.o%s}
%{no-pie|static:crtbegin.o%s}} %{fvtable-verify=none:%s;
fvtable-verify=preinit:vtv_start_preinit.o%s;
fvtable-verify=std:vtv_start.o%s} ;:%{shared: crtbegin_so%O%s;: %{static:
crtbegin_static%O%s;: crtbegin_dynamic%O%s}}}
*cross_compile:
0
*version:
6.2.1
*multilib:
. !m32 !m64 !mx32;32:../lib32:i386-linux-gnu m32 !m64
!mx32;64:../lib:x86_64-linux-gnu !m32 m64
!mx32;x32:../libx32:x86_64-linux-gnux32 !m32 !m64 mx32;
*multilib_defaults:
m64
*multilib_extra:
*multilib_matches:
m32 m32;m64 m64;mx32 mx32;
*multilib_exclusions:
*multilib_options:
m32/m64/mx32
*multilib_reuse:
*linker:
collect2
*linker_plugin_file:
*lto_wrapper:
*lto_gcc:
*post_link:
*link_libgcc:
%D
*md_exec_prefix:
*md_startfile_prefix:
*md_startfile_prefix_1:
*startfile_prefix_spec:
*sysroot_spec:
--sysroot=%R
*sysroot_suffix_spec:
*sysroot_hdrs_suffix_spec:
*self_spec:
*cc1_cpu:
%{march=native:%>march=native %:local_cpu_detect(arch)
%{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}}
%{mtune=native:%>mtune=native %:local_cpu_detect(tune)}
*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker)
%{!fno-use-linker-plugin:%{!fno-lto: -plugin %(linker_plugin_file)
-plugin-opt=%(lto_wrapper) -plugin-opt=-fresolution=%u.res
%{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}}
}}%{flto|flto=*:%<fcompare-debug*} %{flto} %{fno-lto} %{flto=*} %l
%{no-pie:} %{no-pie|static|r|shared:;:-pie} %{fuse-ld=*:-fuse-ld=%*}
%{gz*:%e-gz is not supported in this configuration} %X %{o*} %{e*} %{N} %{n}
%{r} %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}
%{static:} %{L*} %(mfwrap) %(link_libgcc) %{!nostdlib:%{fvtable-verify=std:
-lvtv -u_vtable_map_vars_start -u_vtable_map_vars_end}
%{fvtable-verify=preinit: -lvtv -u_vtable_map_vars_start
-u_vtable_map_vars_end}}
%{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address):%{!shared:libasan_preinit%O%s}
%{static-libasan:%{!shared:-Bstatic --whole-archive -lasan --no-whole-archive
-Bdynamic}}%{!static-libasan:-lasan}}
%{%:sanitize(thread):%{static-libtsan:%{!shared:-Bstatic --whole-archive -ltsan
--no-whole-archive -Bdynamic}}%{!static-libtsan:-ltsan}}
%{%:sanitize(leak):%{static-liblsan:%{!shared:-Bstatic --whole-archive -llsan
--no-whole-archive -Bdynamic}}%{!static-liblsan:-llsan}}}} %o
%{!nostdlib:%{!nodefaultlibs:%{mmpx:%{fcheck-pointer-bounds:
%{static:--whole-archive -lmpx --no-whole-archive
%:include(libmpx.spec)%(link_libmpx)} %{!static:%{static-libmpx:-Bstatic
--whole-archive} -lmpx %{static-libmpx:--no-whole-archive -Bdynamic
%:include(libmpx.spec)%(link_libmpx)}}}}%{mmpx:%{fcheck-pointer-bounds:%{!fno-chkp-use-wrappers:
%{static:-lmpxwrappers} %{!static:%{static-libmpxwrappers:-Bstatic
--whole-archive} -lmpxwrappers %{static-libmpxwrappers:--no-whole-archive
-Bdynamic}}}}}}} %{mmpx:%{fcheck-pointer-bounds:%{!static:%{m16|m32|mx32:;:-z
bndplt }}}} %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):
%:include(libgomp.spec)%(link_gomp)}
%{fcilkplus:%:include(libcilkrts.spec)%(link_cilkrts)}
%{fgnu-tm:%:include(libitm.spec)%(link_itm)} %(mflib) %{fsplit-stack:
--wrap=pthread_create} %{fprofile-arcs|fprofile-generate*|coverage:-lgcov}
%{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address):
%{static-libasan:%:include(libsanitizer.spec)%(link_libasan)}
%{static:%ecannot specify -static with -fsanitize=address}}
%{%:sanitize(thread):
%{static-libtsan:%:include(libsanitizer.spec)%(link_libtsan)}
%{static:%ecannot specify -static with -fsanitize=thread}}
%{%:sanitize(undefined):%{static-libubsan:-Bstatic} -lubsan
%{static-libubsan:-Bdynamic}
%{static-libubsan:%:include(libsanitizer.spec)%(link_libubsan)}}
%{%:sanitize(leak):
%{static-liblsan:%:include(libsanitizer.spec)%(link_liblsan)}}}}
%{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}
%{!nostdlib:%{!nostartfiles:%E}} %{T*}
%(post_link) }}}}}}
--
coreboot mailing list: [email protected]
https://www.coreboot.org/mailman/listinfo/coreboot