ALT Linux Team development discussions
 help / color / mirror / Atom feed
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 --]

  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