Date: Sat, 13 Jun 1998 15:10:48 -0500 From: Jacques Vidrine <n@nectar.com> To: zhihuizhang <bf20761@binghamton.edu> Cc: hackers <freebsd-hackers@FreeBSD.ORG> Subject: Re: linker set defintion (ls_item) Message-ID: <199806132010.PAA20988@bone.nectar.com> In-Reply-To: <Pine.SOL.L3.93.980613155010.26627A-100000@bingsun1> References: <Pine.SOL.L3.93.980613155010.26627A-100000@bingsun1>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
One definition results in the list of void* immediately following
the structure, i.e.
+------------------+
| int ls_length |
+- - - - - - - - - +
| void* ls_item[0] |--->
+- - - - - - - - - +
| void* ls_item[1] |--->
+- - - - - - - - - +
| etc.... |
The other definition results in the list void* being somewhere
unknown.
+------------------+
| int ls_length |
+- - - - - - - - - + +------------------+
| void** ls_item |---> | void* ls_item[0] |--->
+------------------+ +- - - - - - - - - +
| void* ls_item[1] |--->
+- - - - - - - - - +
| etc.... |
Hope this helps,
Jacques Vidrine <n@nectar.com>
On 13 June 1998 at 15:56, zhihuizhang <bf20761@binghamton.edu> wrote:
>
> I am reading freeBSD source code concerning the linker set which I believe
> is a set of *addresses* of similar symbols. The linker set structure is
> defined in kernel.h as:
>
> struct linker_set {
> int ls_length;
> const void * ls_item[1];
> }
>
> The value of ls_item should be the address of an array of pointers. Since
> the size of this array is not fixed, I wonder why it is not defined as:
>
> struct linker_set [
> int ls_length;
> const void ** ls_item;
> }
>
> This may have something to do with the C compiler. I hope some C expert
> can give me a hint. Thanks in advance.
>
> -------------------------------------------------
>
> Zhihui Zhang
>
> Department of Computer Science
> State University of New York at Binghamton
>
> Web Site: http://cs.binghamton.edu/~zzhang
>
> -------------------------------------------------
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
>
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBNYLcyDeRhT8JRySpAQFu/wP+MymEvMbjsb4nnxTSPwSMKetKcqMye1BU
u2XNGzPxjLdynreye+3h7Ob06UZGa+h0hURBgWd5c1pbVwqyUcQGC+K0B40mPzwh
cwSbpFfn/SEjjhZ5Vs8C8W8msy4mkaF1h1zaYtJxRT/2gRDAFpxUJRwYZ0JOxxLe
OmaJ3Hc5Lqg=
=R3eV
-----END PGP SIGNATURE-----
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806132010.PAA20988>
