Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Oct 2010 21:44:58 -0700
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Anton Shterenlikht <mexas@bristol.ac.uk>
Cc:        freebsd-current@freebsd.org, freebsd-ia64@freebsd.org
Subject:   Re: multiple problems between r212316 and r212643 on ia64
Message-ID:  <94486EC3-6BBB-4830-A95B-B3ACAC25B724@mac.com>
In-Reply-To: <20100916105704.GB51787@mech-anton240.men.bris.ac.uk>
References:  <20100915152353.GA45611@mech-anton240.men.bris.ac.uk> <5667FD77-8DBC-4638-80B6-67BCF9D4FB29@mac.com> <20100916105704.GB51787@mech-anton240.men.bris.ac.uk>

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

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.

 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...

FYI,

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?94486EC3-6BBB-4830-A95B-B3ACAC25B724>