This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: ld errors from source repos.
- From: Gary Thomas <gary at mlbassoc dot com>
- To: Aaron Case <aaron dot case at dynazign dot com>
- Cc: eCos Discussion <ecos-discuss at sources dot redhat dot com>
- Date: 04 Aug 2003 09:06:05 -0600
- Subject: RE: [ECOS] ld errors from source repos.
- Organization: MLB Associates
- References: <GBEOKKOEOGFDMKDFCHIMAECNCAAA.aaron.case@dynazign.com>
Note: please copy the eCos mailing list with your replies so that all
can share the results. Private email is only available under contract.
On Mon, 2003-08-04 at 08:32, Aaron Case wrote:
> The target is a cirrus 7312(ARM720T) processor on the Cogent dev. board.
> The problem started when I added in Kernel support for alarms and wallclock.
> I have the kernel package and the wallclock package in the library that Im
> using for the build. I seem to have all the obvious configuration options
> selected under these packages, use DSR, real-time clock, interrupts, etc,
> pretty standard config.
Have you tried using a standard template, like 'kernel'? It is possible
to create configurations using just the config tool which don't always
make sense - it seems that you may have done so.
You could send us the configuration data - use either File->Export in
the ConfigTool or "ecosconfig export".
>
> Yet the linker tells me this...
>
>
> > undefined reference to `hal_interrupt_stack_call_pending_DSRs'
> > collect2: ld returned 1 exit status
> > make: *** [ENDR_test] Error 1
>
> I searched for hal_interrupt_stack_call_pending_DSRs and found it in ...
>
> hal_intr.h in the cyg/hal directory, defined like this...
>
> //--------------------------------------------------------------------------
> // Routine to execute DSRs using separate interrupt stack
>
> #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK
> externC void hal_interrupt_stack_call_pending_DSRs(void);
> #define HAL_INTERRUPT_STACK_CALL_PENDING_DSRS() \
> hal_interrupt_stack_call_pending_DSRs()
>
> and in this file intr.hxx, in the cyg/kernel directory, defined like this...
>
> #ifndef HAL_INTERRUPT_STACK_CALL_PENDING_DSRS
> #define HAL_INTERRUPT_STACK_CALL_PENDING_DSRS() \
> Cyg_Interrupt::call_pending_DSRs_inner()
> #endif
>
> not making any assumptions about the .hxx or the .h file, the linker should
> still find it.
>
> It seems to be defined in the config tool, so why this error? Im sure Im
> missing something simple, but I cant seem to trace where or it isnt seeing
> this obvious declaration.
>
> Thanks in advance
> Aaron Case
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: Gary Thomas [mailto:gary@mlbassoc.com]
> Sent: Friday, August 01, 2003 7:05 PM
> To: Aaron Case
> Cc: eCos Discussion
> Subject: Re: [ECOS] ld errors from source repos.
>
>
> On Fri, 2003-08-01 at 15:17, Aaron Case wrote:
> > Hello eCos Dudes,
> >
> > What package am I missing when I get the following error referencing an
> > undefined hal_interrupt_stack_call_pending_DSRs.
> >
> > I've made changes to the include files, the OS configuration, and my file
> > structure. Am I barking up the wrong tree??
> >
> > Thanks in advance,
> > Aaron Case
> >
> >
> >
> /ecos-c/dev_area/ENDR_test/ecos_min_v2_install/lib/libtarget.a(kernel_intr.o
> > ): I
> > n function `_GLOBAL__D.12000__ZN13Cyg_Interrupt15disable_counterE':
> >
> /ecos-c/cygwin/opt/ecos/ecos-2.0/packages/kernel/v2_0/src/intr/intr.cxx:595:
> > und
> > efined reference to `hal_interrupt_stack_call_pending_DSRs'
> > collect2: ld returned 1 exit status
> > make: *** [ENDR_test] Error 1
>
> You'll need to provide more information - what's the configuration,
> target, etc?
>
> --
> Gary Thomas <gary@mlbassoc.com>
> MLB Associates
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss