OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [gold/] [layout.cc] - Diff between revs 27 and 148

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 27 Rev 148
Line 2955... Line 2955...
          // we do not try to realign it.
          // we do not try to realign it.
 
 
          if (!are_addresses_set
          if (!are_addresses_set
              && !has_relro
              && !has_relro
              && aligned_addr != addr
              && aligned_addr != addr
              && !parameters->incremental_update())
              && !parameters->incremental())
            {
            {
              uint64_t first_off = (common_pagesize
              uint64_t first_off = (common_pagesize
                                    - (aligned_addr
                                    - (aligned_addr
                                       & (common_pagesize - 1)));
                                       & (common_pagesize - 1)));
              uint64_t last_off = new_addr & (common_pagesize - 1);
              uint64_t last_off = new_addr & (common_pagesize - 1);
Line 3123... Line 3123...
          if (off == -1)
          if (off == -1)
            {
            {
              if (is_debugging_enabled(DEBUG_INCREMENTAL))
              if (is_debugging_enabled(DEBUG_INCREMENTAL))
                this->free_list_.dump();
                this->free_list_.dump();
              gold_assert((*p)->output_section() != NULL);
              gold_assert((*p)->output_section() != NULL);
              gold_fatal(_("out of patch space for section %s; "
              gold_fallback(_("out of patch space for section %s; "
                           "relink with --incremental-full"),
                           "relink with --incremental-full"),
                         (*p)->output_section()->name());
                         (*p)->output_section()->name());
            }
            }
          (*p)->set_file_offset(off);
          (*p)->set_file_offset(off);
          (*p)->finalize_data_size();
          (*p)->finalize_data_size();
          if ((*p)->data_size() > current_size)
          if ((*p)->data_size() > current_size)
            {
            {
              gold_assert((*p)->output_section() != NULL);
              gold_assert((*p)->output_section() != NULL);
              gold_fatal(_("%s: section changed size; "
              gold_fallback(_("%s: section changed size; "
                           "relink with --incremental-full"),
                           "relink with --incremental-full"),
                         (*p)->output_section()->name());
                         (*p)->output_section()->name());
            }
            }
          gold_debug(DEBUG_INCREMENTAL,
          gold_debug(DEBUG_INCREMENTAL,
                     "set_section_offsets: %08lx %08lx %s",
                     "set_section_offsets: %08lx %08lx %s",
Line 3389... Line 3389...
        symtab_off = align_address(*poff, align);
        symtab_off = align_address(*poff, align);
      else
      else
        {
        {
          symtab_off = this->allocate(off, align, *poff);
          symtab_off = this->allocate(off, align, *poff);
          if (off == -1)
          if (off == -1)
            gold_fatal(_("out of patch space for symbol table; "
            gold_fallback(_("out of patch space for symbol table; "
                         "relink with --incremental-full"));
                         "relink with --incremental-full"));
          gold_debug(DEBUG_INCREMENTAL,
          gold_debug(DEBUG_INCREMENTAL,
                     "create_symtab_sections: %08lx %08lx .symtab",
                     "create_symtab_sections: %08lx %08lx .symtab",
                     static_cast<long>(symtab_off),
                     static_cast<long>(symtab_off),
                     static_cast<long>(off));
                     static_cast<long>(off));
Line 3460... Line 3460...
  else
  else
    {
    {
      oshdrs->pre_finalize_data_size();
      oshdrs->pre_finalize_data_size();
      off = this->allocate(oshdrs->data_size(), oshdrs->addralign(), *poff);
      off = this->allocate(oshdrs->data_size(), oshdrs->addralign(), *poff);
      if (off == -1)
      if (off == -1)
          gold_fatal(_("out of patch space for section header table; "
          gold_fallback(_("out of patch space for section header table; "
                       "relink with --incremental-full"));
                       "relink with --incremental-full"));
      gold_debug(DEBUG_INCREMENTAL,
      gold_debug(DEBUG_INCREMENTAL,
                 "create_shdrs: %08lx %08lx (section header table)",
                 "create_shdrs: %08lx %08lx (section header table)",
                 static_cast<long>(off),
                 static_cast<long>(off),
                 static_cast<long>(off + oshdrs->data_size()));
                 static_cast<long>(off + oshdrs->data_size()));

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.