[devel] Новый binutils...

Vitaly Lugovsky =?iso-8859-1?q?vsl_=CE=C1_ontil=2Eihep=2Esu?=
Чт Июл 3 23:06:43 MSD 2003


 В аттаче прилагается грязный хак, который просто отрубает эти
непонятно зачем и кому нужные проверки. Хорошо бы ещё связаться с
разработчиками и выяснить, кому потребовалось, чтоб не-weak
символы были определены только и исключительно локально.

 Могут быть проблемы (см. bfd/linker.c, строка 631) - возможно,
следует записать это как вставку, а не дополнение в конец (уж
больно сильно переписали обработку undefined-символов, не было у
меня времени разбираться с этой бодягой), однако, как минимум
ocaml-shared работает вполне корректно на серьёзных тестах.

----------- следующая часть -----------
diff -urN 1/bfd/elflink.h 2/bfd/elflink.h
--- 1/bfd/elflink.h	2003-07-03 22:47:12 +0400
+++ 2/bfd/elflink.h	2003-07-03 22:47:16 +0400
@@ -4472,6 +4472,7 @@
 
   /* We should also warn if a forced local symbol is referenced from
      shared libraries.  */
+  /*
   if (! finfo->info->relocateable
       && (! finfo->info->shared || ! finfo->info->allow_shlib_undefined)
       && (h->elf_link_hash_flags
@@ -4492,6 +4493,7 @@
       eoinfo->failed = TRUE;
       return FALSE;
     }
+  */
 
   /* We don't want to output symbols that have never been mentioned by
      a regular file, or that we have been told to strip.  However, if
@@ -4657,6 +4659,7 @@
 
   /* If a non-weak symbol with non-default visibility is not defined
      locally, it is a fatal error.  */
+  /*
   if (! finfo->info->relocateable
       && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
       && ELF_ST_BIND (sym.st_info) != STB_WEAK
@@ -4674,6 +4677,7 @@
       eoinfo->failed = TRUE;
       return FALSE;
     }
+   */
 
   /* If this symbol should be put in the .dynsym section, then put it
      there now.  We already know the symbol index.  We also fill in


Подробная информация о списке рассылки Devel