* [parisc-linux] _end symbol in parisc linux?
@ 1999-11-02 0:39 Paul Bame
1999-11-06 18:26 ` Philipp Rumpf
0 siblings, 1 reply; 10+ messages in thread
From: Paul Bame @ 1999-11-02 0:39 UTC (permalink / raw)
To: parisc-linux
Anybody know how to get PA-Linux to have an _end symbol like
most other programs, including Intel Linux?
-Paul Bame
^ permalink raw reply [flat|nested] 10+ messages in thread
* [parisc-linux] _end symbol in parisc linux?
@ 1999-11-02 19:13 Donald Scobbie
0 siblings, 0 replies; 10+ messages in thread
From: Donald Scobbie @ 1999-11-02 19:13 UTC (permalink / raw)
To: parisc-linux
> Anybody know how to get PA-Linux to have an _end symbol like
> most other programs, including Intel Linux?
>
> -Paul Bame
Define the symbol as:
extern void *_end;
and the linker will sort it out for you. See the HP-UX man page for
'end'.
I think everyone is linking with the HP-UX ld, but it works for gcc ld
too.
Cheers
Donald
-------------------------------------------------------
Donald Scobbie
Hewlett Packard Ltd. email: dscobbie@sqf.hp.com
Telecom Systems Division Phone: +44 131 331 6149
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-02 0:39 [parisc-linux] _end symbol in parisc linux? Paul Bame
@ 1999-11-06 18:26 ` Philipp Rumpf
1999-11-06 20:08 ` Jeffrey A Law
0 siblings, 1 reply; 10+ messages in thread
From: Philipp Rumpf @ 1999-11-06 18:26 UTC (permalink / raw)
To: Paul Bame; +Cc: parisc-linux
> Anybody know how to get PA-Linux to have an _end symbol like
> most other programs, including Intel Linux?
AFAIK we would need to have linker scripts to do so, which seems to be impossible
with the HP/UX ld. So this is on the "things that will get nicer when we have
GNU binutils again" list.
Philipp Rumpf
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-06 18:26 ` Philipp Rumpf
@ 1999-11-06 20:08 ` Jeffrey A Law
1999-11-11 15:36 ` Paul Bame
0 siblings, 1 reply; 10+ messages in thread
From: Jeffrey A Law @ 1999-11-06 20:08 UTC (permalink / raw)
To: Philipp Rumpf; +Cc: Paul Bame, parisc-linux
In message <19991106192614.H11609@mathe.stud.uni-erlangen.de>you write:
> > Anybody know how to get PA-Linux to have an _end symbol like
> > most other programs, including Intel Linux?
>
> AFAIK we would need to have linker scripts to do so, which seems to be impo
> ssible
> with the HP/UX ld. So this is on the "things that will get nicer when we h
> ave
> GNU binutils again" list.
Actually, you can with SOM with clever use of the sort_key attribute within
a subspace. Create a new subspace with a larger than normal sort key. Within
that space create a single symbol "_end".
Though I'd worry about precisely *why* someone wants the _end symbol; whatever
they're trying to do there's probably a better way.
jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
@ 1999-11-08 19:18 Cary Coutant
0 siblings, 0 replies; 10+ messages in thread
From: Cary Coutant @ 1999-11-08 19:18 UTC (permalink / raw)
To: Jeff Law, Philipp Rumpf; +Cc: Paul Bame, parisc-linux
> > > Anybody know how to get PA-Linux to have an _end symbol like
> > > most other programs, including Intel Linux?
> >
> > AFAIK we would need to have linker scripts to do so, which seems to be
>impo
> > ssible
> > with the HP/UX ld. So this is on the "things that will get nicer when
>we h
> > ave
> > GNU binutils again" list.
>Actually, you can with SOM with clever use of the sort_key attribute within
>a subspace. Create a new subspace with a larger than normal sort key.
>Within
>that space create a single symbol "_end".
Donald Scobbie already answered the question:
>Define the symbol as:
>
>extern void *_end;
>
>and the linker will sort it out for you. See the HP-UX man page for
>'end'.
The HP-UX SOM linker will create the symbols _etext, _edata, and _end if
they are referenced; it won't create them if they're not referenced.
-cary
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-06 20:08 ` Jeffrey A Law
@ 1999-11-11 15:36 ` Paul Bame
1999-11-11 15:51 ` Jeffrey A Law
1999-11-11 16:46 ` John David Anglin
0 siblings, 2 replies; 10+ messages in thread
From: Paul Bame @ 1999-11-11 15:36 UTC (permalink / raw)
To: parisc-linux
I'm also worried about why there are data symbols following BSS in
our current palinux kernel...
= Though I'd worry about precisely *why* someone wants the _end symbol; whatever
= they're trying to do there's probably a better way.
Maybe there is a better way. The first reason I want to use _end
(and _edata) is to clear the kernel BSS reliably (which is working
great).
The second reason, which doesn't currently work, is to have a symbol
pointing at the very end of kernel memory, since that is where
free memory will start.
Both these tasks are currently being done at run-time -- in one case
by parsing the SOM header and in another case by guessing about a
parameter passed in by the hpux bootloader -- neither is currently
reliable despite the considerable experimentation and
sweat others have poured into the effort. I want to avoid parsing
the SOM header and guessing about bootloaders in the future. It
would also be great to use an old, reliable, and language-system
independent.
-P
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-11 15:36 ` Paul Bame
@ 1999-11-11 15:51 ` Jeffrey A Law
1999-11-11 16:14 ` Paul Bame
1999-11-11 16:46 ` John David Anglin
1 sibling, 1 reply; 10+ messages in thread
From: Jeffrey A Law @ 1999-11-11 15:51 UTC (permalink / raw)
To: Paul Bame; +Cc: parisc-linux
In message <199911111536.IAA19092@debian.fc.hp.com>you write:
> Maybe there is a better way. The first reason I want to use _end
> (and _edata) is to clear the kernel BSS reliably (which is working
> great).
Parse the som exec header.
> Both these tasks are currently being done at run-time -- in one case
> by parsing the SOM header and in another case by guessing about a
> parameter passed in by the hpux bootloader -- neither is currently
> reliable despite the considerable experimentation and
> sweat others have poured into the effort.
Then I'd suggest looking at code from folks that have done this in the past;
Utah's BSD & Mach kernels both handle parsing of the SOM exec header just
fine.
jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-11 15:51 ` Jeffrey A Law
@ 1999-11-11 16:14 ` Paul Bame
1999-11-11 17:32 ` Jeffrey A Law
0 siblings, 1 reply; 10+ messages in thread
From: Paul Bame @ 1999-11-11 16:14 UTC (permalink / raw)
Cc: parisc-linux
= Parse the som exec header.
I guess I mangled my earlier note. I also want a language-system
independent method since we'll not always be wedded to SOM. More
urgently, the SOM header is apparently unavailable to a program
launched from the hpux bootloader. I just checked, and HP-UX doesn't
parse the SOM header either -- it uses _end and _edata.
Perhaps you'd be kind enough to write a scrap of assembly magic
which performs the subspace trick you mentioned earlier? Yeah
it may be ugly and still language-system dependent, but without access
to the SOM header at boot time there's not a prettier option.
Thanks!
-P
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-11 15:36 ` Paul Bame
1999-11-11 15:51 ` Jeffrey A Law
@ 1999-11-11 16:46 ` John David Anglin
1 sibling, 0 replies; 10+ messages in thread
From: John David Anglin @ 1999-11-11 16:46 UTC (permalink / raw)
To: Paul Bame; +Cc: parisc-linux
> I'm also worried about why there are data symbols following BSS in
> our current palinux kernel...
I presume that the method of using the linker to define _end isn't
working. Possibly, it is because the sort order for the sections $ANS$
and $CI$ is wrong.
164 (hiauly1)dave> objdump --headers vmlinux
vmlinux: file format som
Sections:
Idx Name Size VMA LMA File off Algn
0 $TEXT$ 0007a658 c0010000 00000000 00035000 2**3
1 $FIRST$ 00000208 c0010000 00000000 00035000 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 $SHLIB_INFO$ 00000000 c0010208 00000000 00035208 2**3
ALLOC, LOAD, READONLY, CODE
3 $MILLICODE$ 00001ab8 c0011000 00000000 00036000 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
4 $LIT$ 0000e340 c0012ab8 00000000 00037ab8 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
5 $CODE$ 00062c28 c0020df8 00000000 00045df8 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
6 $UNWIND_START$ 000063d0 c0083a20 00000000 000a8a20 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
7 $UNWIND_END$ 00000868 c0089df0 00000000 000aedf0 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
8 $PRIVATE$ 0006f2c8 c008b000 00000000 000b0000 2**3
9 $GLOBAL$ 00000008 c008b000 00000000 000b0000 2**3
CONTENTS, ALLOC, LOAD, READONLY, CODE
10 $DATA_START$ 00000000 c008b008 00000000 000b0008 2**3
ALLOC, LOAD, DATA
11 .data.cacheline_aligned 00000020 c008c000 00000000 000b1000 2**3
CONTENTS, ALLOC, LOAD, DATA
12 $DATA$ 0006d2c8 c008d000 00000000 000b2000 2**12
CONTENTS, ALLOC, LOAD, DATA
13 $BSS$ 00015930 c00fa2c8 00000000 00000000 2**3
ALLOC
14 $ANS$ 00000a42 00000000 00000000 00120000 2**2
DEBUGGING
15 $CI$ 00000a42 00000000 00000000 00120000 2**2
CONTENTS, DATA, DEBUGGING
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] _end symbol in parisc linux?
1999-11-11 16:14 ` Paul Bame
@ 1999-11-11 17:32 ` Jeffrey A Law
0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey A Law @ 1999-11-11 17:32 UTC (permalink / raw)
To: Paul Bame; +Cc: parisc-linux
In message <199911111614.JAA19293@debian.fc.hp.com>you write:
> Perhaps you'd be kind enough to write a scrap of assembly magic
> which performs the subspace trick you mentioned earlier? Yeah
> it may be ugly and still language-system dependent, but without access
> to the SOM header at boot time there's not a prettier option.
.space $PRIVATE$
.subspa $AFTERBSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=83
_end:
Or something close to that.
What it does is create a new data section $AFTERBSS$ which has a sort key
greater than $BSS$ ($BSS$'s sort key is 82). Within that section we define
one symbol "_end".
jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~1999-11-11 17:32 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-11-02 0:39 [parisc-linux] _end symbol in parisc linux? Paul Bame
1999-11-06 18:26 ` Philipp Rumpf
1999-11-06 20:08 ` Jeffrey A Law
1999-11-11 15:36 ` Paul Bame
1999-11-11 15:51 ` Jeffrey A Law
1999-11-11 16:14 ` Paul Bame
1999-11-11 17:32 ` Jeffrey A Law
1999-11-11 16:46 ` John David Anglin
-- strict thread matches above, loose matches on Subject: below --
1999-11-02 19:13 Donald Scobbie
1999-11-08 19:18 Cary Coutant
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.