Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Mar 2010 16:42:00 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Subject:   Re: Review/testing request: changing the detection of data_addr/text_addr
Message-ID:  <201003241642.00246.jhb@freebsd.org>
In-Reply-To: <4BAA6813.7060604@freebsd.org>
References:  <4BAA6813.7060604@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 24 March 2010 3:29:23 pm Nathan Whitehorn wrote:
> We currently detect the offical "text" and "data" addresses for ELF 
> files in kern/imgact_elf.c by the heuristic of calling whichever section 
> contains the executable's entry point the text section and everything 
> else data. In general, both this concept and the very few things that 
> use them are obsolete and rare. The data addresses are, however, used in 
> obreak() to find the current break. On powerpc64, this logic fails, 
> because the entry point points to a function descriptor in the data 
> section, causing sbrk() to fail, which in turn breaks profiling.
> 
> The patch at http://people.freebsd.org/~nwhitehorn/textseg.diff changes 
> this algorithm to make the official text area be the largest executable 
> segment, and all others data. The patch has been tested on sparc64, 
> amd64, powerpc, and (of course) powerpc64, with no evident bad effects.

My only comment is that I would keep the existing language about obreak() as 
it describes multiple data segments, etc.  Instead, I would just use the first 
sentence of your new comment to replace the first paragraph in the old 
comment.

-- 
John Baldwin



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