From: "Dmitry V. Levin" <ldv@altlinux.org> To: ALT Devel discussion list <devel@altlinux.ru> Subject: Re: [devel] binutils Date: Mon, 21 Jul 2003 18:34:09 +0400 Message-ID: <20030721143409.GA23135@basalt.office.altlinux.org> (raw) In-Reply-To: <Pine.LNX.4.55L.0307211527250.25675@ontil.ihep.su> [-- Attachment #1.1: Type: text/plain, Size: 1351 bytes --] On Mon, Jul 21, 2003 at 03:31:08PM +0400, Vitaly Lugovsky wrote: > On Sun, 20 Jul 2003, Dmitry V. Levin wrote: > > > То изменение, которое непосредственно затрагивает ocaml-shared, > > судя по binutils-2.14.90.0.4/bfd/ChangeLog, было сделано в > > здравом уме: > > Может быть. Но обоснований то не было... :( > > > (elf_link_output_extsym): Warn if a forced local symbol is > > referenced from dynamic objects. Make non-weak undefined symbol > > with non-default visibility a fatal error. > > Только это изменение и существенно. По некоторым, до сих пор мне > не совсем понятным причинам, Malc-у потребовалось определять > глобальные символы из OCaml runtime как .protected и .hidden в > каждой динамически подгружаемой библиотеке (то есть примерно > понятно - чтоб они реально ссылались на соответствующие > определения в статическом бинарнике, обращающемся к той самой > библиотеке). Зачем это запрещать - ни хрена не ясно. > > Попробую спросить автора изменений. > > Но вообще - мой patch только то и делает, что отменяет это > дурное ужесточение policy... Ok, аналогичный временный патч пойдёт в Сизиф (attached). > > Так что лучше всего пообщаться с автором изменений. > > Попробую... Такой крутой народ, однако, обычно вообще не > реагирует на сообщения... Ничего страшного, hjl вполне вменяемый. -- ldv [-- Attachment #1.2: binutils-2.14.90.0.4-alt-bfd_elflink_relax_checking.patch --] [-- Type: text/plain, Size: 1835 bytes --] --- binutils-2.14.90.0.4/bfd/elflink.h.orig 2003-07-20 22:03:16 +0400 +++ binutils-2.14.90.0.4/bfd/elflink.h 2003-07-21 18:08:43 +0400 @@ -4483,20 +4483,22 @@ elf_link_output_extsym (h, data) (*_bfd_error_handler) (_("%s: %s symbol `%s' in %s is referenced by DSO"), bfd_get_filename (finfo->output_bfd), ELF_ST_VISIBILITY (h->other) == STV_INTERNAL ? "internal" : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN ? "hidden" : "local", h->root.root.string, bfd_archive_filename (h->root.u.def.section->owner)); +#ifdef ENABLE_STRICT_SYMBOL_CHECKING eoinfo->failed = TRUE; return FALSE; +#endif /* ENABLE_STRICT_SYMBOL_CHECKING */ } /* 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 h->indx is set to -2, the symbol is used by a reloc and we must output it. */ if (h->indx == -2) strip = FALSE; else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 @@ -4665,20 +4667,22 @@ elf_link_output_extsym (h, data) { (*_bfd_error_handler) (_("%s: %s symbol `%s' isn't defined"), bfd_get_filename (finfo->output_bfd), ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED ? "protected" : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL ? "internal" : "hidden", h->root.root.string); +#ifdef ENABLE_STRICT_SYMBOL_CHECKING eoinfo->failed = TRUE; return FALSE; +#endif /* ENABLE_STRICT_SYMBOL_CHECKING */ } /* 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 the entry in the .hash section. */ if (h->dynindx != -1 && elf_hash_table (finfo->info)->dynamic_sections_created) { size_t bucketcount; [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-07-21 14:34 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-07-12 16:47 [devel] Ну я так не играю Vitaly Lugovsky 2003-07-12 17:42 ` Alexander Bokovoy 2003-07-12 18:01 ` Vitaly Lugovsky 2003-07-14 8:31 ` Stanislav Ievlev 2003-07-14 9:12 ` Alexander Bokovoy 2003-07-14 13:11 ` Stanislav Ievlev 2003-07-20 0:12 ` [devel] binutils Dmitry V. Levin 2003-07-20 18:25 ` Dmitry V. Levin 2003-07-21 11:31 ` Vitaly Lugovsky 2003-07-21 14:34 ` Dmitry V. Levin [this message] 2008-10-08 16:37 ` Dmitry V. Levin 2003-07-21 11:33 ` Vitaly Lugovsky 2003-07-16 13:47 ` [devel] Ну я так не играю Vitaly Lugovsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030721143409.GA23135@basalt.office.altlinux.org \ --to=ldv@altlinux.org \ --cc=devel@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git