Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Oct 2010 10:52:53 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Marcel Moolenaar <xcllnt@mac.com>
Cc:        freebsd-current@freebsd.org, Anton Shterenlikht <mexas@bristol.ac.uk>, freebsd-ia64@freebsd.org
Subject:   Re: multiple problems between r212316 and r212643 on ia64
Message-ID:  <20101022075253.GD2392@deviant.kiev.zoral.com.ua>
In-Reply-To: <94486EC3-6BBB-4830-A95B-B3ACAC25B724@mac.com>
References:  <20100915152353.GA45611@mech-anton240.men.bris.ac.uk> <5667FD77-8DBC-4638-80B6-67BCF9D4FB29@mac.com> <20100916105704.GB51787@mech-anton240.men.bris.ac.uk> <94486EC3-6BBB-4830-A95B-B3ACAC25B724@mac.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Thu, Oct 21, 2010 at 09:44:58PM -0700, Marcel Moolenaar wrote:
> 
> On Sep 16, 2010, at 3:57 AM, Anton Shterenlikht wrote:
> >>> 
> >>> % man ls
> >>> zcat: /usr/share/man/cat1/ls.1.gz already has .gz suffix -- unchanged
> >>> % man man
> >>> zcat: /usr/share/man/cat1/man.1.gz already has .gz suffix -- unchanged
> >>> 
> >>> # cd /etc/mail
> >>> # make start
> >>> Starting: sendmail-submitmailwrapper: no mapping in /etc/mail/mailer.conf
> >>> sendmail-clientmqueuemailwrapper: no mapping in /etc/mail/mailer.conf
> >>> .
> >>> # 
> >>> 
> >>> # cd /usr/src
> >>> # svn up
> >>> svn: Can't open file '/usr/local/etc/subversion/servers': Illegal byte sequence
> >>> # 
> >>> 
> 
> This is now fixed (revision 214194).
> 
> >From the commit log:
> 
>  With r169630 I disabled symbol versioning because it broke rtld.  With
>  r211706 rtld got broken for ia64 & powerpc64.  It was fixed for powerpc64
>  with r212497.  In between, r211749 removed the exports table because the
>  version script handled the exports.  But wait, symbol versioning was
>  disabled on ia64.
Doh.

> 
>  With exports controlled by the version script and symbol versioning
>  disabled, all symbols are exported and too many symbols bind to the
>  definition in rtld. Let's just say that waird things happen.
> 
>  So, enable symbol versioning on ia64 and apply a work-around for the
>  SIGSEGV that triggered r169630 to begin with: when rtld relocates
>  itself, it comes across r_debug_state and for some reason can't find the
>  definition. This causes a failure, relocation aborts and null pointers
>  galore. The work-around is to ignore the missing definition when rtld
>  is relocating itself and keep going.
> 
>  Maybe with the next binutils this will all go away. Maybe not, in
>  which case I still need to figure out why r_debug_state cannot be found.
> 
>  BTW: r_debug_state is in the symbol map -- I don't think any other rtld
>  symbols that rtld references are in the symbol map...

Thank you for tracking it. I will wait for your merge of the revision
to RELENG_8 before synchronizing rtld with HEAD.

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iEYEARECAAYFAkzBQtQACgkQC3+MBN1Mb4hPQQCg7ALj+q0WTmzUSVlrUJeOMjZk
vNMAnRPvIZ9b+5PuDmCtVnmAXm1Uwogu
=gb1o
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101022075253.GD2392>