[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