Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jul 2007 22:41:08 +0200 (MEST)
From:      Michiel Boland <michiel@boland.org>
To:        freebsd-current@freebsd.org
Cc:        peter@freebsd.org
Subject:   Re: upgrade 6-STABLE to -CURRENT on sparc64 renders box unusable
Message-ID:  <Pine.GSO.4.64.0707102211410.4947@neerbosch.nijmegen.internl.net>
In-Reply-To: <Pine.GSO.4.64.0707101824231.15001@neerbosch.nijmegen.internl.net>
References:  <Pine.GSO.4.64.0707101403490.13827@neerbosch.nijmegen.internl.net> <Pine.GSO.4.64.0707101824231.15001@neerbosch.nijmegen.internl.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Well, in fact I did manage to debug this further. :)

The problem is that on sparc64 and -CURRENT, every executable segfaults in

  _rtld
   init_rtld
    relocate_objects
     reloc_non_plt
      mmap
       __getosreldate

It appears that __getosreldate was added five days ago, which may explain 
why the breakage on sparc64 hasn't been reported yet. (I am ccing peter@ 
since he committed this.)

If I apply the following patch, then rebuild libc, things are more or less 
ok again. Of course this patch is very suboptimal, I am just trying to 
point out where the problem is.

--- __getosreldate.c.orig	2007-07-10 22:29:02.000000000 +0200
+++ __getosreldate.c	2007-07-10 22:28:20.000000000 +0200
@@ -42,13 +42,10 @@
  int
  __getosreldate(void)
  {
-	static int osreldate;
+	int osreldate;
  	size_t len;
  	int oid[2];
  	int error, osrel;
-
-	if (osreldate != 0)
-		return (osreldate);

  	oid[0] = CTL_KERN;
  	oid[1] = KERN_OSRELDATE;




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