[pjsip] Cross-compiling pjsip - issue with linking

Warpme warpme at o2.pl
Fri May 30 16:36:10 EDT 2014


On 30/05/14 15:46, Vittorio Giovara wrote:
>
> On 2014-05-30 09:25, warpme wrote:
>> Hi,
>> I'm trying to cross-build libpjsip 2.2.1.
>>
>> Removing '-Wl,' flag causes linking goes OK.
>> How can I remove this flag in ./configure process?
> Cross build where? On which target and host architecture?
> Anyhow, your linker not supporting --Wl,--as-needed usually means that 
> it is ancient and you should update your toolchain as soon as possible.
> Vittorio
>
>
>
Vittorio,

Sorry for lack of details.
Host is Archlinux 64bit.
Target is 64bit GAR system (I'm using it for building minimyth2)
My target linker is from binutils 2.23.1

/home/piotro/minimyth-dev/images/build/usr/bin/x86_64-minimyth-linux-gnu-ld 
-v
GNU ld (GNU Binutils) 2.23.1

Looking on 'x86_64-minimyth-linux-gnu-ld --help' output indeed I didn't 
see -W option.

So how can I turnoff -Wl option in linker flags?





Here is output of linker help:

piotro at myth-devel-vm Mesa]$ 
/home/piotro/minimyth-dev/images/build/usr/bin/x86_64-minimyth-linux-gnu-ld 
--help
Usage: 
/home/piotro/minimyth-dev/images/build/usr/bin/x86_64-minimyth-linux-gnu-ld 
[options] file...
Options:
   -a KEYWORD                  Shared library control for HP/UX 
compatibility
   -A ARCH, --architecture ARCH
                               Set architecture
   -b TARGET, --format TARGET  Specify target for following input files
   -c FILE, --mri-script FILE  Read MRI format linker script
   -d, -dc, -dp                Force common symbols to be defined
   -e ADDRESS, --entry ADDRESS Set start address
   -E, --export-dynamic        Export all dynamic symbols
   --no-export-dynamic         Undo the effect of --export-dynamic
   -EB                         Link big-endian objects
   -EL                         Link little-endian objects
   -f SHLIB, --auxiliary SHLIB Auxiliary filter for shared object symbol 
table
   -F SHLIB, --filter SHLIB    Filter for shared object symbol table
   -g                          Ignored
   -G SIZE, --gpsize SIZE      Small data size (if no size, same as 
--shared)
   -h FILENAME, -soname FILENAME
                               Set internal name of shared library
   -I PROGRAM, --dynamic-linker PROGRAM
                               Set PROGRAM as the dynamic linker to use
   -l LIBNAME, --library LIBNAME
                               Search for library LIBNAME
   -L DIRECTORY, --library-path DIRECTORY
                               Add DIRECTORY to library search path
   --sysroot=<DIRECTORY>       Override the default sysroot location
   -m EMULATION                Set emulation
   -M, --print-map             Print map file on standard output
   -n, --nmagic                Do not page align data
   -N, --omagic                Do not page align data, do not make text 
readonly
   --no-omagic                 Page align data, make text readonly
   -o FILE, --output FILE      Set output file name
   -O                          Optimize output file
   -plugin PLUGIN              Load named plugin
   -plugin-opt ARG             Send arg to last-loaded plugin
   -flto                       Ignored for GCC LTO option compatibility
   -flto-partition=            Ignored for GCC LTO option compatibility
   -Qy                         Ignored for SVR4 compatibility
   -q, --emit-relocs           Generate relocations in final output
   -r, -i, --relocatable       Generate relocatable output
   -R FILE, --just-symbols FILE
                               Just link symbols (if directory, same as 
--rpath)
   -s, --strip-all             Strip all symbols
   -S, --strip-debug           Strip debugging symbols
   --strip-discarded           Strip symbols in discarded sections
   --no-strip-discarded        Do not strip symbols in discarded sections
   -t, --trace                 Trace file opens
   -T FILE, --script FILE      Read linker script
   --default-script FILE, -dT  Read default linker script
   -u SYMBOL, --undefined SYMBOL
                               Start with undefined reference to SYMBOL
   --unique [=SECTION]         Don't merge input [SECTION | orphan] sections
   -Ur                         Build global constructor/destructor tables
   -v, --version               Print version information
   -V                          Print version and emulation information
   -x, --discard-all           Discard all local symbols
   -X, --discard-locals        Discard temporary local symbols (default)
   --discard-none              Don't discard any local symbols
   -y SYMBOL, --trace-symbol SYMBOL
                               Trace mentions of SYMBOL
   -Y PATH                     Default search path for Solaris compatibility
   -(, --start-group           Start a group
   -), --end-group             End a group
   --accept-unknown-input-arch Accept input files whose architecture 
cannot be determined
   --no-accept-unknown-input-arch
                               Reject input files whose architecture is 
unknown
   --as-needed                 Only set DT_NEEDED for following dynamic 
libs if used
   --no-as-needed              Always set DT_NEEDED for dynamic 
libraries mentioned on
                                 the command line
   -assert KEYWORD             Ignored for SunOS compatibility
   -Bdynamic, -dy, -call_shared
                               Link against shared libraries
   -Bstatic, -dn, -non_shared, -static
                               Do not link against shared libraries
   -Bsymbolic                  Bind global references locally
   -Bsymbolic-functions        Bind global function references locally
   --check-sections            Check section addresses for overlaps 
(default)
   --no-check-sections         Do not check section addresses for overlaps
   --copy-dt-needed-entries    Copy DT_NEEDED links mentioned inside 
DSOs that follow
   --no-copy-dt-needed-entries Do not copy DT_NEEDED links mentioned 
inside DSOs that follow
   --cref                      Output cross reference table
   --defsym SYMBOL=EXPRESSION  Define a symbol
   --demangle [=STYLE]         Demangle symbol names [using STYLE]
   --embedded-relocs           Generate embedded relocs
   --fatal-warnings            Treat warnings as errors
   --no-fatal-warnings         Do not treat warnings as errors (default)
   -fini SYMBOL                Call SYMBOL at unload-time
   --force-exe-suffix          Force generation of file with .exe suffix
   --gc-sections               Remove unused sections (on some targets)
   --no-gc-sections            Don't remove unused sections (default)
   --print-gc-sections         List removed unused sections on stderr
   --no-print-gc-sections      Do not list removed unused sections
   --hash-size=<NUMBER>        Set default hash table size close to <NUMBER>
   --help                      Print option help
   -init SYMBOL                Call SYMBOL at load-time
   -Map FILE                   Write a map file
   --no-define-common          Do not define Common storage
   --no-demangle               Do not demangle symbol names
   --no-keep-memory            Use less memory and more disk I/O
   --no-undefined              Do not allow unresolved references in 
object files
   --allow-shlib-undefined     Allow unresolved references in shared 
libraries
   --no-allow-shlib-undefined  Do not allow unresolved references in 
shared libs
   --allow-multiple-definition Allow multiple definitions
   --no-undefined-version      Disallow undefined version
   --default-symver            Create default symbol version
   --default-imported-symver   Create default symbol version for 
imported symbols
   --no-warn-mismatch          Don't warn about mismatched input files
   --no-warn-search-mismatch   Don't warn on finding an incompatible library
   --no-whole-archive          Turn off --whole-archive
   --noinhibit-exec            Create an output file even if errors occur
   -nostdlib                   Only use library directories specified on
                                 the command line
   --oformat TARGET            Specify target of output file
   --print-output-format       Print default output format
   -qmagic                     Ignored for Linux compatibility
   --reduce-memory-overheads   Reduce memory overheads, possibly taking 
much longer
   --relax                     Reduce code size by using target specific 
optimizations
   --no-relax                  Do not use relaxation techniques to 
reduce code size
   --retain-symbols-file FILE  Keep only symbols listed in FILE
   -rpath PATH                 Set runtime shared library search path
   -rpath-link PATH            Set link time shared library search path
   -shared, -Bshareable        Create a shared library
   -pie, --pic-executable      Create a position independent executable
   --sort-common [=ascending|descending]
                               Sort common symbols by alignment [in 
specified order]
   --sort-section name|alignment
                               Sort sections by name or maximum alignment
   --spare-dynamic-tags COUNT  How many tags to reserve in .dynamic section
   --split-by-file [=SIZE]     Split output sections every SIZE octets
   --split-by-reloc [=COUNT]   Split output sections every COUNT relocs
   --stats                     Print memory usage statistics
   --target-help               Display target specific options
   --task-link SYMBOL          Do task level linking
   --traditional-format        Use same format as native linker
   --section-start SECTION=ADDRESS
                               Set address of named section
   -Tbss ADDRESS               Set address of .bss section
   -Tdata ADDRESS              Set address of .data section
   -Ttext ADDRESS              Set address of .text section
   -Ttext-segment ADDRESS      Set address of text segment
   --unresolved-symbols=<method>
                               How to handle unresolved symbols. 
<method> is:
                                 ignore-all, report-all, 
ignore-in-object-files,
                                 ignore-in-shared-libs
   --verbose [=NUMBER]         Output lots of information during link
   --version-script FILE       Read version information script
   --version-exports-section SYMBOL
                               Take export symbols list from .exports, using
                                 SYMBOL as the version.
   --dynamic-list-data         Add data symbols to dynamic list
   --dynamic-list-cpp-new      Use C++ operator new/delete dynamic list
   --dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list
   --dynamic-list FILE         Read dynamic list
   --warn-common               Warn about duplicate common symbols
   --warn-constructors         Warn if global constructors/destructors 
are seen
   --warn-multiple-gp          Warn if the multiple GP values are used
   --warn-once                 Warn only once per undefined symbol
   --warn-section-align        Warn if start of section changes due to 
alignment
   --warn-shared-textrel       Warn if shared object has DT_TEXTREL
   --warn-alternate-em         Warn if an object has alternate ELF 
machine code
   --warn-unresolved-symbols   Report unresolved symbols as warnings
   --error-unresolved-symbols  Report unresolved symbols as errors
   --whole-archive             Include all objects from following archives
   --wrap SYMBOL               Use wrapper functions for SYMBOL
   @FILE                       Read options from FILE
/home/piotro/minimyth-dev/images/build/usr/bin/x86_64-minimyth-linux-gnu-ld: 
supported targets: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux 
pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big 
elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex
/home/piotro/minimyth-dev/images/build/usr/bin/x86_64-minimyth-linux-gnu-ld: 
supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux 
elf_l1om elf_k1om
/home/piotro/minimyth-dev/images/build/usr/bin/x86_64-minimyth-linux-gnu-ld: 
emulation specific options:
elf_x86_64:
   --audit=AUDITLIB            Specify a library to use for auditing
   -Bgroup                     Selects group name lookup rules for DSO
   --build-id[=STYLE]          Generate build ID note
   -P AUDITLIB, --depaudit=AUDITLIB
                               Specify a library to use for auditing 
dependencies
   --disable-new-dtags         Disable new dynamic tags
   --enable-new-dtags          Enable new dynamic tags
   --eh-frame-hdr              Create .eh_frame_hdr section
   --exclude-libs=LIBS         Make all symbols in LIBS hidden
   --hash-style=STYLE          Set hash style to sysv, gnu or both
   -z combreloc                Merge dynamic relocs into one section and 
sort
   -z common-page-size=SIZE    Set common page size to SIZE
   -z defs                     Report unresolved symbols in object files.
   -z execstack                Mark executable as requiring executable stack
   -z initfirst                Mark DSO to be initialized first at runtime
   -z interpose                Mark object to interpose all DSOs but 
executable
   -z lazy                     Mark object lazy runtime binding (default)
   -z loadfltr                 Mark object requiring immediate process
   -z max-page-size=SIZE       Set maximum page size to SIZE
   -z muldefs                  Allow multiple definitions
   -z nocombreloc              Don't merge dynamic relocs into one section
   -z nocopyreloc              Don't create copy relocs
   -z nodefaultlib             Mark object not to use default search paths
   -z nodelete                 Mark DSO non-deletable at runtime
   -z nodlopen                 Mark DSO not available to dlopen
   -z nodump                   Mark DSO not available to dldump
   -z noexecstack              Mark executable as not requiring 
executable stack
   -z norelro                  Don't create RELRO program header
   -z now                      Mark object non-lazy runtime binding
   -z origin                   Mark object requiring immediate $ORIGIN
                                 processing at runtime
   -z relro                    Create RELRO program header
   --ld-generated-unwind-info  Generate exception handling info for PLT.
   --no-ld-generated-unwind-info Don't do so.
elf32_x86_64:
   --audit=AUDITLIB            Specify a library to use for auditing
   -Bgroup                     Selects group name lookup rules for DSO
   --build-id[=STYLE]          Generate build ID note
   -P AUDITLIB, --depaudit=AUDITLIB
                               Specify a library to use for auditing 
dependencies
   --disable-new-dtags         Disable new dynamic tags
   --enable-new-dtags          Enable new dynamic tags
   --eh-frame-hdr              Create .eh_frame_hdr section
   --exclude-libs=LIBS         Make all symbols in LIBS hidden
   --hash-style=STYLE          Set hash style to sysv, gnu or both
   -z combreloc                Merge dynamic relocs into one section and 
sort
   -z common-page-size=SIZE    Set common page size to SIZE
   -z defs                     Report unresolved symbols in object files.
   -z execstack                Mark executable as requiring executable stack
   -z initfirst                Mark DSO to be initialized first at runtime
   -z interpose                Mark object to interpose all DSOs but 
executable
   -z lazy                     Mark object lazy runtime binding (default)
   -z loadfltr                 Mark object requiring immediate process
   -z max-page-size=SIZE       Set maximum page size to SIZE
   -z muldefs                  Allow multiple definitions
   -z nocombreloc              Don't merge dynamic relocs into one section
   -z nocopyreloc              Don't create copy relocs
   -z nodefaultlib             Mark object not to use default search paths
   -z nodelete                 Mark DSO non-deletable at runtime
   -z nodlopen                 Mark DSO not available to dlopen
   -z nodump                   Mark DSO not available to dldump
   -z noexecstack              Mark executable as not requiring 
executable stack
   -z norelro                  Don't create RELRO program header
   -z now                      Mark object non-lazy runtime binding
   -z origin                   Mark object requiring immediate $ORIGIN
                                 processing at runtime
   -z relro                    Create RELRO program header
   --ld-generated-unwind-info  Generate exception handling info for PLT.
   --no-ld-generated-unwind-info Don't do so.
elf_i386:
   --audit=AUDITLIB            Specify a library to use for auditing
   -Bgroup                     Selects group name lookup rules for DSO
   --build-id[=STYLE]          Generate build ID note
   -P AUDITLIB, --depaudit=AUDITLIB
                               Specify a library to use for auditing 
dependencies
   --disable-new-dtags         Disable new dynamic tags
   --enable-new-dtags          Enable new dynamic tags
   --eh-frame-hdr              Create .eh_frame_hdr section
   --exclude-libs=LIBS         Make all symbols in LIBS hidden
   --hash-style=STYLE          Set hash style to sysv, gnu or both
   -z combreloc                Merge dynamic relocs into one section and 
sort
   -z common-page-size=SIZE    Set common page size to SIZE
   -z defs                     Report unresolved symbols in object files.
   -z execstack                Mark executable as requiring executable stack
   -z initfirst                Mark DSO to be initialized first at runtime
   -z interpose                Mark object to interpose all DSOs but 
executable
   -z lazy                     Mark object lazy runtime binding (default)
   -z loadfltr                 Mark object requiring immediate process
   -z max-page-size=SIZE       Set maximum page size to SIZE
   -z muldefs                  Allow multiple definitions
   -z nocombreloc              Don't merge dynamic relocs into one section
   -z nocopyreloc              Don't create copy relocs
   -z nodefaultlib             Mark object not to use default search paths
   -z nodelete                 Mark DSO non-deletable at runtime
   -z nodlopen                 Mark DSO not available to dlopen
   -z nodump                   Mark DSO not available to dldump
   -z noexecstack              Mark executable as not requiring 
executable stack
   -z norelro                  Don't create RELRO program header
   -z now                      Mark object non-lazy runtime binding
   -z origin                   Mark object requiring immediate $ORIGIN
                                 processing at runtime
   -z relro                    Create RELRO program header
   --ld-generated-unwind-info  Generate exception handling info for PLT.
   --no-ld-generated-unwind-info Don't do so.
elf_l1om:
   --audit=AUDITLIB            Specify a library to use for auditing
   -Bgroup                     Selects group name lookup rules for DSO
   --build-id[=STYLE]          Generate build ID note
   -P AUDITLIB, --depaudit=AUDITLIB
                               Specify a library to use for auditing 
dependencies
   --disable-new-dtags         Disable new dynamic tags
   --enable-new-dtags          Enable new dynamic tags
   --eh-frame-hdr              Create .eh_frame_hdr section
   --exclude-libs=LIBS         Make all symbols in LIBS hidden
   --hash-style=STYLE          Set hash style to sysv, gnu or both
   -z combreloc                Merge dynamic relocs into one section and 
sort
   -z common-page-size=SIZE    Set common page size to SIZE
   -z defs                     Report unresolved symbols in object files.
   -z execstack                Mark executable as requiring executable stack
   -z initfirst                Mark DSO to be initialized first at runtime
   -z interpose                Mark object to interpose all DSOs but 
executable
   -z lazy                     Mark object lazy runtime binding (default)
   -z loadfltr                 Mark object requiring immediate process
   -z max-page-size=SIZE       Set maximum page size to SIZE
   -z muldefs                  Allow multiple definitions
   -z nocombreloc              Don't merge dynamic relocs into one section
   -z nocopyreloc              Don't create copy relocs
   -z nodefaultlib             Mark object not to use default search paths
   -z nodelete                 Mark DSO non-deletable at runtime
   -z nodlopen                 Mark DSO not available to dlopen
   -z nodump                   Mark DSO not available to dldump
   -z noexecstack              Mark executable as not requiring 
executable stack
   -z norelro                  Don't create RELRO program header
   -z now                      Mark object non-lazy runtime binding
   -z origin                   Mark object requiring immediate $ORIGIN
                                 processing at runtime
   -z relro                    Create RELRO program header
   --ld-generated-unwind-info  Generate exception handling info for PLT.
   --no-ld-generated-unwind-info Don't do so.
elf_k1om:
   --audit=AUDITLIB            Specify a library to use for auditing
   -Bgroup                     Selects group name lookup rules for DSO
   --build-id[=STYLE]          Generate build ID note
   -P AUDITLIB, --depaudit=AUDITLIB
                               Specify a library to use for auditing 
dependencies
   --disable-new-dtags         Disable new dynamic tags
   --enable-new-dtags          Enable new dynamic tags
   --eh-frame-hdr              Create .eh_frame_hdr section
   --exclude-libs=LIBS         Make all symbols in LIBS hidden
   --hash-style=STYLE          Set hash style to sysv, gnu or both
   -z combreloc                Merge dynamic relocs into one section and 
sort
   -z common-page-size=SIZE    Set common page size to SIZE
   -z defs                     Report unresolved symbols in object files.
   -z execstack                Mark executable as requiring executable stack
   -z initfirst                Mark DSO to be initialized first at runtime
   -z interpose                Mark object to interpose all DSOs but 
executable
   -z lazy                     Mark object lazy runtime binding (default)
   -z loadfltr                 Mark object requiring immediate process
   -z max-page-size=SIZE       Set maximum page size to SIZE
   -z muldefs                  Allow multiple definitions
   -z nocombreloc              Don't merge dynamic relocs into one section
   -z nocopyreloc              Don't create copy relocs
   -z nodefaultlib             Mark object not to use default search paths
   -z nodelete                 Mark DSO non-deletable at runtime
   -z nodlopen                 Mark DSO not available to dlopen
   -z nodump                   Mark DSO not available to dldump
   -z noexecstack              Mark executable as not requiring 
executable stack
   -z norelro                  Don't create RELRO program header
   -z now                      Mark object non-lazy runtime binding
   -z origin                   Mark object requiring immediate $ORIGIN
                                 processing at runtime
   -z relro                    Create RELRO program header
   --ld-generated-unwind-info  Generate exception handling info for PLT.
   --no-ld-generated-unwind-info Don't do so.

Report bugs to <http://www.sourceware.org/bugzilla/>

br







More information about the pjsip mailing list