public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Jay Foster <jay.foster@systech.com>
To: "'ecos-discuss@sources.redhat.com'" <ecos-discuss@sources.redhat.com>
Subject: [ECOS] Help With CYG_HAL_TABLEs
Date: Fri, 17 Oct 2003 18:38:00 -0000	[thread overview]
Message-ID: <80B97DE95AEED311BA580050047FE98494F741@mail.systech.com> (raw)

I'm trying to use the CYG_HAL_TABLE macros to implement an extensible table.
My table entries aren't getting added to the table.  I first suspected that
the linker was removing them, since there are no references to them, but I'm
not so sure, since other tables, such as the DEVTAB table encounter the same
situation, yet its entries get added.

In a header file, I declare the following:

#include <cyg/hal/hal_tables.h>
typedef struct myentry
{
	STUFF HERE
} CYG_HAL_TABLE_TYPE myentry_t;

extern myentry_t __MYTABLE__[], __MYTABLE_END__;
#define MYTABLE_ENTRY(_l, arg, arg) \
myentry_t _l CYG_HAL_TABLE_ENTRY(myentrytype) = { \
	arg, \
	arg \
}

In a source file, I do:

#include <header file>
CYG_HAL_TABLE_BEGIN( __MYTABLE__, myentrytype );
CYG_HAL_TABLE_END( __MYTABLE_END__, myentrytype );


myentry_t *p;
for (p=&(__MYTABLE__[0]; p!=&(__MYTABLE_END__); p++
{
	stuff
}

In another source file, I do:
#include <header file>
MYTABLE_ENTRY(l0, stuff);
MYTABLE_ENTRY(l1, stuff);
etc.


In my symbol table, I find entries for __MYTABLE__ and __MYTABLE_END__, but
no symbols in between for the table entries (l0, l1, etc.).  There are no
references to the table entry labels, so I suspected the linker was removing
them.  Other tables don't suffer from this, so I'm thinking it's something
else.  What, I don't know.  For example, in my symbol table I see:

	__DEVTAB__
	haldiag_io0
	__DEVTAB_END__

yet there are no references to haldiag_io0, except for the DEVTAB_ENTRY()
macro.

Jay


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

             reply	other threads:[~2003-10-17 18:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-17 18:38 Jay Foster [this message]
2003-10-17 20:04 ` Gary Thomas
2003-10-17 20:34 Jay Foster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=80B97DE95AEED311BA580050047FE98494F741@mail.systech.com \
    --to=jay.foster@systech.com \
    --cc=ecos-discuss@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).