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

Bug#765575: hidden symbol `.LTHUNK15.4817' isn't defined



Package: gcc,libboost-program-options-dev
Version: gcc/4:4.7.2-1
Version: libboost-program-options-dev/1.49.0.1
Severity: important

For some reason I cannot compile and link to a boost lib using -flto
-Ofast (everything is fine when each is taken separatly). I am
assigning to both packages, feel free to re-assign to the proper one.

Steps:
$ g++  -flto -Ofast -o demo demo.cxx -lboost_program_options
`_ZThn16_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED1Ev'
referenced in section `.rodata' of /tmp/ccT7Vvf6.ltrans2.ltrans.o:
defined in discarded section
`.gnu.linkonce.t._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED5Ev'
of /tmp/ccxsMXjP.o (symbol from plugin)
`_ZThn16_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED0Ev'
referenced in section `.rodata' of /tmp/ccT7Vvf6.ltrans2.ltrans.o:
defined in discarded section
`.gnu.linkonce.t._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED0Ev'
of /tmp/ccxsMXjP.o (symbol from plugin)
`_ZThn56_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED1Ev'
referenced in section `.rodata' of /tmp/ccT7Vvf6.ltrans2.ltrans.o:
defined in discarded section
`.gnu.linkonce.t._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED5Ev'
of /tmp/ccxsMXjP.o (symbol from plugin)
`_ZThn56_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED0Ev'
referenced in section `.rodata' of /tmp/ccT7Vvf6.ltrans2.ltrans.o:
defined in discarded section
`.gnu.linkonce.t._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_17bad_function_callEEEED0Ev'
of /tmp/ccxsMXjP.o (symbol from plugin)
/usr/bin/ld: demo: hidden symbol `.LTHUNK15.4817' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

Where demo.cxx is attached.
#include <iostream>
#include <cassert>

#include <boost/program_options/options_description.hpp>
#include <boost/program_options/parsers.hpp>
#include <boost/program_options/variables_map.hpp>

int main(int argc, char *argv[])
{
  namespace po = boost::program_options;
  using namespace std;

  vector<string>  filenames;
  bool use_new = false;

  try
    {
    po::options_description desc(
      "\n"
      "When compressing"
    );
    desc.add_options()
      ("help,h", "Display this help.")
      ("filenames", po::value< vector<string> >( &filenames ), "bla.")
      ("new", "bla.")
      ;

    po::positional_options_description p;
    p.add("filenames", -1);

    po::variables_map vm;
    po::store(po::command_line_parser(argc, argv).options(desc).positional(p)
      .run(), vm);
    po::notify(vm);

    if (vm.count("help"))
      {
      cout << desc;
      return 0;
      }

    if (vm.count("new"))
      {
      use_new = true;
      }
    }
  catch(exception& e)
    {
    cout << e.what() << "\n";
    return 1;
    }

  return 0;
}

Reply to: