* [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[parent not found: <20081125142149.GB2340-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>]
* 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
[parent not found: <E1L517Q-0001Is-Fh-CYoMK+44s/E@public.gmane.org>]
* 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
[parent not found: <20081125165747.GB17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>]
* 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
[parent not found: <20081125171648.GC17258-JVa43G0qJ78RlTYtMZUE4cJ8OCA1ciLf@public.gmane.org>]
* 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
[parent not found: <20081126014753.GF3420-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>]
* 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
[parent not found: <20081125205718.68a92b73-jnIq6iUNB1CO8iYQgJmm/0EOCMrvLtNR@public.gmane.org>]
* 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.