Skip to content
Snippets Groups Projects
  • Joseph Myers's avatar
    4d9bc81a
    config: Fix host -rdynamic detection for build != host != target · 4d9bc81a
    Joseph Myers authored
    The GCC_ENABLE_PLUGINS configure logic for detecting whether -rdynamic
    is necessary and supported uses an appropriate objdump for $host
    binaries (running on $build) in cases where $host is $build or
    $target.
    
    However, it is missing such logic in the case where $host is neither
    $build nor $target, resulting in the compilers not being linked with
    -rdynamic and plugins not being usable with such a compiler.  In fact
    $ac_cv_prog_OBJDUMP, as used when $build = $host, is always an objdump
    for $host binaries that runs on $build; that is, it's appropriate to
    use in this case as well.
    
    Tested in such a configuration that it does result in cc1 being linked
    with -rdynamic as expected.  Also bootstrapped with no regressions for
    x86_64-pc-linux-gnu.
    
    config/
    	* gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Use
    	export_sym_check="$ac_cv_prog_OBJDUMP -T" also when host is not
    	build or target.
    
    gcc/
    	* configure: Regenerate.
    
    libcc1/
    	* configure: Regenerate.
    4d9bc81a
    History
    config: Fix host -rdynamic detection for build != host != target
    Joseph Myers authored
    The GCC_ENABLE_PLUGINS configure logic for detecting whether -rdynamic
    is necessary and supported uses an appropriate objdump for $host
    binaries (running on $build) in cases where $host is $build or
    $target.
    
    However, it is missing such logic in the case where $host is neither
    $build nor $target, resulting in the compilers not being linked with
    -rdynamic and plugins not being usable with such a compiler.  In fact
    $ac_cv_prog_OBJDUMP, as used when $build = $host, is always an objdump
    for $host binaries that runs on $build; that is, it's appropriate to
    use in this case as well.
    
    Tested in such a configuration that it does result in cc1 being linked
    with -rdynamic as expected.  Also bootstrapped with no regressions for
    x86_64-pc-linux-gnu.
    
    config/
    	* gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Use
    	export_sym_check="$ac_cv_prog_OBJDUMP -T" also when host is not
    	build or target.
    
    gcc/
    	* configure: Regenerate.
    
    libcc1/
    	* configure: Regenerate.