All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] libfdt: Add version.lds file
@ 2008-11-25 14:21 Josh Boyer
       [not found] ` <20081125142149.GB2340-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Josh Boyer @ 2008-11-25 14:21 UTC (permalink / raw)
  To: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

Add the initial symbol versioning file as groundwork for creating
a libfdt shared library

Signed-off-by: Josh Boyer <jwboyer-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
 libfdt/version.lds |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)
 create mode 100644 libfdt/version.lds

diff --git a/libfdt/version.lds b/libfdt/version.lds
new file mode 100644
index 0000000..7d90672
--- /dev/null
+++ b/libfdt/version.lds
@@ -0,0 +1,48 @@
+LIBFDT_1.2 {
+	global:
+		fdt_next_node;
+		fdt_check_header;
+		fdt_move;
+		fdt_string;
+		fdt_num_mem_rsv;
+		fdt_get_mem_rsv;
+		fdt_subnode_offset_namelen;
+		fdt_subnode_offset;
+		fdt_path_offset;
+		fdt_get_name;
+		fdt_get_property_namelen;
+		fdt_get_property;
+		fdt_getprop_namelen;
+		fdt_getprop;
+		fdt_get_phandle;
+		fdt_get_alias_namelen;
+		fdt_get_alias;
+		fdt_get_path;
+		fdt_supernode_atdepth_offset;
+		fdt_node_depth;
+		fdt_parent_offset;
+		fdt_node_offset_by_prop_value;
+		fdt_node_offset_by_phandle;
+		fdt_node_check_compatible;
+		fdt_node_offset_by_compatible;
+		fdt_setprop_inplace;
+		fdt_nop_property;
+		fdt_nop_node;
+		fdt_create;
+		fdt_add_reservemap_entry;
+		fdt_finish_reservemap;
+		fdt_begin_node;
+		fdt_property;
+		fdt_end_node;
+		fdt_finish;
+		fdt_open_into;
+		fdt_pack;
+		fdt_add_mem_rsv;
+		fdt_del_mem_rsv;
+		fdt_set_name;
+		fdt_setprop;
+		fdt_delprop;
+		fdt_add_subnode_namelen;
+		fdt_add_subnode;
+		fdt_del_node;
+};
-- 
1.5.6.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] libfdt: Add version.lds file
       [not found] ` <20081125142149.GB2340-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
@ 2008-11-25 16:50   ` Jon Loeliger
       [not found]     ` <E1L517Q-0001Is-Fh-CYoMK+44s/E@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Jon Loeliger @ 2008-11-25 16:50 UTC (permalink / raw)
  To: Josh Boyer; +Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

> Add the initial symbol versioning file as groundwork for creating
> a libfdt shared library
> 
> Signed-off-by: Josh Boyer <jwboyer-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
> ---
>  libfdt/version.lds |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 48 insertions(+), 0 deletions(-)
>  create mode 100644 libfdt/version.lds
> 
> diff --git a/libfdt/version.lds b/libfdt/version.lds
> new file mode 100644
> index 0000000..7d90672
> --- /dev/null
> +++ b/libfdt/version.lds
> @@ -0,0 +1,48 @@
> +LIBFDT_1.2 {
> +	global:
> +		fdt_next_node;
> +		fdt_check_header;
> +		fdt_move;
> +		fdt_string;

Oh wow....  Any mechanism for making this a NOT hard-coded list?
Some in-source macro-doo-dad-flag-setup-section-list thing?

jdl

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] libfdt: Add version.lds file
       [not found]     ` <E1L517Q-0001Is-Fh-CYoMK+44s/E@public.gmane.org>
@ 2008-11-25 16:57       ` Josh Boyer
       [not found]         ` <20081125165747.GB17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Josh Boyer @ 2008-11-25 16:57 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

On Tue, Nov 25, 2008 at 10:50:32AM -0600, Jon Loeliger wrote:
>> Add the initial symbol versioning file as groundwork for creating
>> a libfdt shared library
>> 
>> Signed-off-by: Josh Boyer <jwboyer-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>> ---
>>  libfdt/version.lds |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 48 insertions(+), 0 deletions(-)
>>  create mode 100644 libfdt/version.lds
>> 
>> diff --git a/libfdt/version.lds b/libfdt/version.lds
>> new file mode 100644
>> index 0000000..7d90672
>> --- /dev/null
>> +++ b/libfdt/version.lds
>> @@ -0,0 +1,48 @@
>> +LIBFDT_1.2 {
>> +	global:
>> +		fdt_next_node;
>> +		fdt_check_header;
>> +		fdt_move;
>> +		fdt_string;
>
>Oh wow....  Any mechanism for making this a NOT hard-coded list?
>Some in-source macro-doo-dad-flag-setup-section-list thing?

Yeah, I had the same thought.  I'll look a bit more, but this is what
libhugetlbfs is using at the moment.  The only other library I'm
remotely familiar with that does versioning is glibc.  Maybe they
have magic foo I can steal.

FWIW, you _can_ use globs.  We could trim the list down a bit using
that, but not by much.  Also, I'm not entirely sure what is to be
considered 'public' so I just went with what was in libfdt.h. 
Review on that front is more than welcome.

josh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] libfdt: Add version.lds file
       [not found]         ` <20081125165747.GB17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
@ 2008-11-25 17:16           ` Josh Boyer
       [not found]             ` <20081125171648.GC17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Josh Boyer @ 2008-11-25 17:16 UTC (permalink / raw)
  To: Jon Loeliger; +Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

On Tue, Nov 25, 2008 at 11:57:47AM -0500, Josh Boyer wrote:
>On Tue, Nov 25, 2008 at 10:50:32AM -0600, Jon Loeliger wrote:
>>> Add the initial symbol versioning file as groundwork for creating
>>> a libfdt shared library
>>> 
>>> Signed-off-by: Josh Boyer <jwboyer-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>>> ---
>>>  libfdt/version.lds |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
>>>  1 files changed, 48 insertions(+), 0 deletions(-)
>>>  create mode 100644 libfdt/version.lds
>>> 
>>> diff --git a/libfdt/version.lds b/libfdt/version.lds
>>> new file mode 100644
>>> index 0000000..7d90672
>>> --- /dev/null
>>> +++ b/libfdt/version.lds
>>> @@ -0,0 +1,48 @@
>>> +LIBFDT_1.2 {
>>> +	global:
>>> +		fdt_next_node;
>>> +		fdt_check_header;
>>> +		fdt_move;
>>> +		fdt_string;
>>
>>Oh wow....  Any mechanism for making this a NOT hard-coded list?
>>Some in-source macro-doo-dad-flag-setup-section-list thing?
>
>Yeah, I had the same thought.  I'll look a bit more, but this is what
>libhugetlbfs is using at the moment.  The only other library I'm
>remotely familiar with that does versioning is glibc.  Maybe they
>have magic foo I can steal.

No really awesome magic.  They have a similar mechanism of having
a hard-coded list.  We could do something like this in the source
code:

#define fdt_func ver_1_2_fdt_func
int fdt_func(...) {

and then this in version.lds:

LIBFDT_1.2 {
	global:
		ver_1_2*;
}

but that seems pretty ugly too...

The hard-coded list is pretty simple, at the risk of missing things.

josh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] libfdt: Add version.lds file
       [not found]             ` <20081125171648.GC17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
@ 2008-11-26  1:47               ` David Gibson
       [not found]                 ` <20081126014753.GF3420-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: David Gibson @ 2008-11-26  1:47 UTC (permalink / raw)
  To: Josh Boyer; +Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

On Tue, Nov 25, 2008 at 12:16:48PM -0500, Josh Boyer wrote:
> On Tue, Nov 25, 2008 at 11:57:47AM -0500, Josh Boyer wrote:
> >On Tue, Nov 25, 2008 at 10:50:32AM -0600, Jon Loeliger wrote:
> >>> Add the initial symbol versioning file as groundwork for creating
> >>> a libfdt shared library
> >>> 
> >>> Signed-off-by: Josh Boyer <jwboyer-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
> >>> ---
> >>>  libfdt/version.lds |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
> >>>  1 files changed, 48 insertions(+), 0 deletions(-)
> >>>  create mode 100644 libfdt/version.lds
> >>> 
> >>> diff --git a/libfdt/version.lds b/libfdt/version.lds
> >>> new file mode 100644
> >>> index 0000000..7d90672
> >>> --- /dev/null
> >>> +++ b/libfdt/version.lds
> >>> @@ -0,0 +1,48 @@
> >>> +LIBFDT_1.2 {
> >>> +	global:
> >>> +		fdt_next_node;
> >>> +		fdt_check_header;
> >>> +		fdt_move;
> >>> +		fdt_string;
> >>
> >>Oh wow....  Any mechanism for making this a NOT hard-coded list?
> >>Some in-source macro-doo-dad-flag-setup-section-list thing?
> >
> >Yeah, I had the same thought.  I'll look a bit more, but this is what
> >libhugetlbfs is using at the moment.  The only other library I'm
> >remotely familiar with that does versioning is glibc.  Maybe they
> >have magic foo I can steal.
> 
> No really awesome magic.  They have a similar mechanism of having
> a hard-coded list.  We could do something like this in the source
> code:

Not to mention that looking at glibc source tends to make one's eyes
bleed.

> #define fdt_func ver_1_2_fdt_func
> int fdt_func(...) {
> 
> and then this in version.lds:
> 
> LIBFDT_1.2 {
> 	global:
> 		ver_1_2*;
> }
> 
> but that seems pretty ugly too...

I concur

> The hard-coded list is pretty simple, at the risk of missing things.

I'm actually not too wirried about missing things.  If we miss
something, it's pretty easy to fix.  It probably would be a good idea
to make the testsuite build against the shared version of the library
to verify that at least the functions exercised there are correctly
exposed.

I'm marginally more worried about an overbroad wildcard including
something we didn't really want exposed.  I think the versioning
script needs a:
	local:
		*
after the global list to to inhibit exposing everything else.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] libfdt: Add version.lds file
       [not found]                 ` <20081126014753.GF3420-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
@ 2008-11-26  1:57                   ` Josh Boyer
       [not found]                     ` <20081125205718.68a92b73-jnIq6iUNB1CO8iYQgJmm/0EOCMrvLtNR@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Josh Boyer @ 2008-11-26  1:57 UTC (permalink / raw)
  To: David Gibson; +Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

On Wed, 26 Nov 2008 12:47:53 +1100
David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org> wrote:

> > The hard-coded list is pretty simple, at the risk of missing things.
> 
> I'm actually not too wirried about missing things.  If we miss
> something, it's pretty easy to fix.  It probably would be a good idea
> to make the testsuite build against the shared version of the library
> to verify that at least the functions exercised there are correctly
> exposed.

That's a good idea.  I'll see what I can do there.

> I'm marginally more worried about an overbroad wildcard including
> something we didn't really want exposed.  I think the versioning
> script needs a:
> 	local:
> 		*
> after the global list to to inhibit exposing everything else.

Ah, yes.  It would be good for someone with more of a clue than me to
vet the list I have in the file right now, and make sure I didn't
include/omit things that shouldn't/should be there.  Once that is done,
I can do the local thing.

josh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] libfdt: Add version.lds file
       [not found]                     ` <20081125205718.68a92b73-jnIq6iUNB1CO8iYQgJmm/0EOCMrvLtNR@public.gmane.org>
@ 2008-11-26  2:11                       ` David Gibson
  0 siblings, 0 replies; 7+ messages in thread
From: David Gibson @ 2008-11-26  2:11 UTC (permalink / raw)
  To: Josh Boyer; +Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

On Tue, Nov 25, 2008 at 08:57:18PM -0500, Josh Boyer wrote:
> On Wed, 26 Nov 2008 12:47:53 +1100
> David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org> wrote:
> 
> > > The hard-coded list is pretty simple, at the risk of missing things.
> > 
> > I'm actually not too wirried about missing things.  If we miss
> > something, it's pretty easy to fix.  It probably would be a good idea
> > to make the testsuite build against the shared version of the library
> > to verify that at least the functions exercised there are correctly
> > exposed.
> 
> That's a good idea.  I'll see what I can do there.
> 
> > I'm marginally more worried about an overbroad wildcard including
> > something we didn't really want exposed.  I think the versioning
> > script needs a:
> > 	local:
> > 		*
> > after the global list to to inhibit exposing everything else.
> 
> Ah, yes.  It would be good for someone with more of a clue than me to
> vet the list I have in the file right now, and make sure I didn't
> include/omit things that shouldn't/should be there.  Once that is done,
> I can do the local thing.

Oh, sorry forgot to add, everything on your list so far looks like it
should be exposed.  Omissions I'll need to look more carefully.  But
if the testsuite builds against it we should be pretty right.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-11-26  2:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-25 14:21 [PATCH 1/2] libfdt: Add version.lds file Josh Boyer
     [not found] ` <20081125142149.GB2340-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
2008-11-25 16:50   ` Jon Loeliger
     [not found]     ` <E1L517Q-0001Is-Fh-CYoMK+44s/E@public.gmane.org>
2008-11-25 16:57       ` Josh Boyer
     [not found]         ` <20081125165747.GB17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
2008-11-25 17:16           ` Josh Boyer
     [not found]             ` <20081125171648.GC17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>
2008-11-26  1:47               ` David Gibson
     [not found]                 ` <20081126014753.GF3420-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2008-11-26  1:57                   ` Josh Boyer
     [not found]                     ` <20081125205718.68a92b73-jnIq6iUNB1CO8iYQgJmm/0EOCMrvLtNR@public.gmane.org>
2008-11-26  2:11                       ` David Gibson

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.