bug-guix
[Top][All Lists]
Advanced

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

bug#20102: Problem with ld.so RUNPATH on armhf


From: Mark H Weaver
Subject: bug#20102: Problem with ld.so RUNPATH on armhf
Date: Mon, 06 Apr 2015 17:02:17 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Could you send the output of:
>
>   $(guix build -e '(@ (gnu packages commencement) gcc-final)' | grep -ve 
> -lib)/bin/gcc -dumpspecs
>
> It could be that the patching of config/gnu-user*.h ends up adding
> -rpath in the wrong place.

Here it is:

--8<---------------cut here---------------start------------->8---
address@hidden:~$ $(guix build -e '(@ (gnu packages commencement) gcc-final)' | 
grep -ve -lib)/bin/gcc -dumpspecs
*asm:
%{mbig-endian:-EB} %{mlittle-endian:-EL} %(asm_cpu_spec) %{mapcs-*:-mapcs-%*} 
%(subtarget_asm_float_spec) %{mthumb-interwork:-mthumb-interwork} 
%{mfloat-abi=*} %{mfpu=*} %(subtarget_extra_asm_spec)

*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*} %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:
%(subtarget_cpp_spec)                                   
%{mfloat-abi=soft:%{mfloat-abi=hard:                                            
%e-mfloat-abi=soft and -mfloat-abi=hard may not be used together}} 
%{mbig-endian:%{mlittle-endian:                                                 
     %e-mbig-endian and -mlittle-endian may not be used together}}

*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 
%{fmudflap:-D_MUDFLAP -include mf-runtime.h} %{fmudflapth:-D_MUDFLAP 
-D_MUDFLAPTH -include mf-runtime.h} %{E|M|MM:%W{o*}}

*trad_capable_cpp:
cc1 -E %{traditional|traditional-cpp:-traditional-cpp}

*cc1:
%{!mandroid|tno-android-cc:%{profile:-p};:%{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*} %{fmudflap|fmudflapth:-fno-builtin 
-fno-merge-constants} %{coverage:-fprofile-arcs -ftest-coverage}

*cc1plus:
%{!mandroid|tno-android-cc:;:%{!fexceptions:%{!fno-exceptions: 
-fno-exceptions}} %{!frtti:%{!fno-rtti: -fno-rtti}}}

*link_gcc_c_sequence:
%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}

*link_ssp:
%{fstack-protector:}

*endfile:
%{!mandroid|tno-android-ld:%{shared|pie:crtendS.o%s;:crtend.o%s} 
crtn.o%s;:%{shared: crtend_so%O%s;: crtend_android%O%s}}

*link:
%{!static:--eh-frame-hdr}  %{mbig-endian:%{march=armv7-a|mcpu=cortex-a5         
  |mcpu=cortex-a7                                         
|mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15          |mcpu=marvell-pj4       
                                 |mcpu=generic-armv7-a                          
         |march=armv7-m|mcpu=cortex-m3                           
|march=armv7e-m|mcpu=cortex-m4                          
|march=armv6-m|mcpu=cortex-m0                           |march=armv8-a          
                                :%{!r:--be8}}}%{!mandroid|tno-android-ld:%{h*}  
  %{static:-Bstatic}    %{shared:-shared}    %{symbolic:-Bsymbolic}    
%{!static:      %{rdynamic:-export-dynamic}      -dynamic-linker 
%{muclibc:/lib/ld-uClibc.so.0;:%{mbionic:/system/bin/linker;:/gnu/store/fbdjazgwy3zyx8qc5z4ag0j78k2d7raw-glibc-2.21/lib/ld-linux-armhf.so.3}}}
    -X    %{mbig-endian:-EB} %{mlittle-endian:-EL} -m armelf_linux_eabi;:%{h*}  
  %{static:-Bstatic}    %{shared:-shared}    %{symbolic:-Bsymbolic}    
%{!static:      %{rdynamic:-export-dynamic}      -dynamic-linker 
%{muclibc:/lib/ld-uClibc.so.0;:%{mbionic:/system/bin/linker;:/gnu/store/fbdjazgwy3zyx8qc5z4ag0j78k2d7raw-glibc-2.21/lib/ld-linux-armhf.so.3}}}
    -X    %{mbig-endian:-EB} %{mlittle-endian:-EL} -m armelf_linux_eabi 
%{shared: -Bsymbolic}}

*lib:
%{!mandroid|tno-android-ld:-L/gnu/store/fbdjazgwy3zyx8qc5z4ag0j78k2d7raw-glibc-2.21/lib
 %{!static:-rpath=/gnu/store/fbdjazgwy3zyx8qc5z4ag0j78k2d7raw-glibc-2.21/lib 
%{!static-libgcc:-rpath=/gnu/store/fc8kqk3dazn6mcgcjxd931752b2pf3wj-gcc-4.8.4-lib/lib64
 -rpath=/gnu/store/fc8kqk3dazn6mcgcjxd931752b2pf3wj-gcc-4.8.4-lib/lib -lgcc_s}} 
%{pthread:-lpthread}    %{shared:-lc}    %{!shared:%{mieee-fp:-lieee} 
%{profile:-lc_p}%{!profile:-lc}};:-L/gnu/store/fbdjazgwy3zyx8qc5z4ag0j78k2d7raw-glibc-2.21/lib
 %{!static:-rpath=/gnu/store/fbdjazgwy3zyx8qc5z4ag0j78k2d7raw-glibc-2.21/lib 
%{!static-libgcc:-rpath=/gnu/store/fc8kqk3dazn6mcgcjxd931752b2pf3wj-gcc-4.8.4-lib/lib64
 -rpath=/gnu/store/fc8kqk3dazn6mcgcjxd931752b2pf3wj-gcc-4.8.4-lib/lib -lgcc_s}} 
%{pthread:-lpthread}    %{shared:-lc}    %{!shared:%{mieee-fp:-lieee} 
%{profile:-lc_p}%{!profile:-lc}} %{!static: -ldl}}

*mfwrap:
 %{static: %{fmudflap|fmudflapth:  --wrap=malloc --wrap=free --wrap=calloc 
--wrap=realloc --wrap=mmap --wrap=mmap64 --wrap=munmap --wrap=alloca} 
%{fmudflapth: --wrap=pthread_create}} %{fmudflap|fmudflapth: --wrap=main}

*mflib:
%{fmudflap|fmudflapth: -export-dynamic}

*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;pie:Scrt1.o%s;:crt1.o%s}}    crti.o%s 
%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s};:%{shared: 
crtbegin_so%O%s;:  %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}}}

*cross_compile:
0

*version:
4.8.4

*multilib:
. ;

*multilib_defaults:
marm mlittle-endian mfloat-abi=hard mno-thumb-interwork

*multilib_extra:


*multilib_matches:


*multilib_exclusions:


*multilib_options:


*multilib_reuse:


*linker:
collect2

*linker_plugin_file:


*lto_wrapper:


*lto_gcc:


*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:


*subtarget_cpp_spec:
%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}

*asm_cpu_spec:
 %{mcpu=generic-*:-march=%*;   :%{mcpu=*:-mcpu=%*} %{march=*:-march=%*}}

*subtarget_extra_asm_spec:
%{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu;:-meabi=5} 
%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx}

*subtarget_asm_float_spec:
%{mapcs-float:-mfloat}

*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) 
%{!fno-use-linker-plugin:%{flto|flto=*|fuse-linker-plugin:     -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} %{flto=*} %l %{pie:-pie} 
%{fuse-ld=*:-fuse-ld=%*}    %X %{o*} %{e*} %{N} %{n} %{r}    %{s} %{t} %{u*} 
%{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}    %{static:} %{L*} %(mfwrap) 
%(link_libgcc) 
%{!nostdlib:%{!nodefaultlibs:%{fsanitize=address:%{!shared:libasan_preinit%O%s} 
%{static-libasan:%{!shared:-Bstatic --whole-archive -lasan --no-whole-archive 
-Bdynamic}}%{!static-libasan:-lasan}}     
%{fsanitize=thread:%{static-libtsan:%{!shared:-Bstatic --whole-archive -ltsan 
--no-whole-archive -Bdynamic}}%{!static-libtsan:-ltsan}}}} %o    
%{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}    
%{fgnu-tm:%:include(libitm.spec)%(link_itm)}    %(mflib)  %{fsplit-stack: 
--wrap=pthread_create}    %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} 
%{!nostdlib:%{!nodefaultlibs:%{fsanitize=address: %{static-libasan:-ldl 
-lpthread}    %{static:%ecannot specify -static with -fsanitize=address}    
%{fsanitize=thread:%e-fsanitize=address is incompatible with 
-fsanitize=thread}}    %{fsanitize=thread: %{static-libtsan:-ldl -lpthread}    
%{!pie:%{!shared:%e-fsanitize=thread linking must be done with -pie or 
-shared}}}}}     %{!nostdlib:%{!nodefaultlibs:%(link_ssp) 
%(link_gcc_c_sequence)}}    %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}

address@hidden:~$
--8<---------------cut here---------------end--------------->8---





reply via email to

[Prev in Thread] Current Thread [Next in Thread]