Jose Cáceres | 28 Apr 18:31 2016

Re: Sdcc-user Digest, Vol 116, Issue 9

Don Wooton to disable wactdog timer, add to your code pragmas #pragma config WDT = OFF

El 28 de abril de 2016 11:06:03 GMT-05:00, sdcc-user-request-5NWGOfrQmnd4wTydcyPnfg@public.gmane.orgceforge.net escribió:
Send Sdcc-user mailing list submissions to
sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/sdcc-user
or, via email, send a message with subject or body 'help' to
sdcc-user-request-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org

You can reach the person managing the list at
sdcc-user-owner-5NWGOfrQmneRv+LV9MX5ug@public.gmane.orge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Sdcc-user digest..."


Today's Topics:

1. Re: disable watchdog (Don Wooton)
2. Re: [MASSMAIL]Re: disable watchdog (Yordan)
3. Interrupts on Z80 and Z180 (Philipp Klaus Krause)
4. Re: Interrupts on Z80 and Z180 (Philipp Klaus Krause)
5. Re: Interrupts on Z80 and Z180 (Alan Cox)
6. Re: Interrupts on Z80 and Z180 (Philipp Klaus Krause)




Message: 1
Date: Fri, 22 Apr 2016 17:12:17 -0400
From: Don Wooton <dtwooton-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [Sdcc-user] disable watchdog
To: sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Message-ID: <20160422211217.GC20627-bRbefgWypkJAfugRpC6u6w@public.gmane.org>
Content-Type: text/plain; charset=us-ascii

Notice /usr/local/share/sdcc/non-free/include/pic14/pic16f818.h

#include <pic16f818.h>


sdcc -mpic14 -p16f818 --use-non-free foo.c

- Don

On Apr 22, Yordan propounded certain bytes, to wit:
Subject: [Sdcc-user] disable watchdog

hi, im new in microcontroller programming, so i need help to disable watchdog timer, can anybody tell me how to do it using sdcc?
i found this snippet
__code uint16_t __at (_CONFIG1) __configword = _INTRC_OSC_NOCLKOUT & _WDTE_OFF & _LVP_OFF;
but it results in this error
error 20: Undefined identifier '_WDTE_OFF'
im working for a pic16f818 mcu and im using
SDCC : mcs51/gbz80/z80/ds390/pic16/pic14/TININative/ds400/hc08 3.0.2 # (Apr 19 2016) (Linux)
thanks


Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z

Sdcc-user mailing list
Sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/sdcc-user
-- End of excerpt from Yordan'





Message: 2
Date: Mon, 25 Apr 2016 19:02:06 -0400
From: Yordan <yattanasov-NigQoAqfJP0@public.gmane.org>
Subject: Re: [Sdcc-user] [MASSMAIL]Re: disable watchdog
To: sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Message-ID: <571EA1EE.7090009-NigQoAqfJP0@public.gmane.org>
Content-Type: text/plain; charset=windows-1252; format=flowed

thanks!! i solve the problem, the other part of the solution was in sdcc
man in section 4.5.4 configuration bits

On 04/22/2016 05:12 PM, Don Wooton wrote:
Notice /usr/local/share/sdcc/non-free/include/pic14/pic16f818.h

#include <pic16f818.h>


sdcc -mpic14 -p16f818 --use-non-free foo.c

- Don

On Apr 22, Yordan propounded certain bytes, to wit:
Subject: [Sdcc-user] disable watchdog

hi, im new in microcontroller programming, so i need help to disable watchdog timer, can anybody tell me how to do it using sdcc?
i found this snippet
__code uint16_t __at (_CONFIG1) __configword = _INTRC_OSC_NOCLKOUT & _WDTE_OFF & _LVP_OFF;
but it results in this error
error 20: Undefined identifier '_WDTE_OFF'
im working for a pic16f818 mcu and im using
SDCC : mcs51/gbz80/z80/ds390/pic16/pic14/TININative/ds400/hc08 3.0.2 # (Apr 19 2016) (Linux)
thanks


Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z

Sdcc-user mailing list
Sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/sdcc-user
-- End of excerpt from Yordan'

Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z

Sdcc-user mailing list
Sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/sdcc-user

La UCI presente este 1ro. de Mayo en la Plaza de la Revoluci??n
junto a todo el pueblo.??Por Cuba: Unidad y Compromiso!





Message: 3
Date: Thu, 28 Apr 2016 14:31:47 +0200
From: Philipp Klaus Krause <pkk-dH2bkuHepfc@public.gmane.org>
Subject: [Sdcc-user] Interrupts on Z80 and Z180
To: Sdcc-User <sdcc-user <at> lists.sourceforge.net>
Message-ID: <572202B3.7050906-dH2bkuHepfc@public.gmane.org>
Content-Type: text/plain; charset="utf-8"

I had a look at bug reports https://sourceforge.net/p/sdcc/bugs/2131/
and https://sourceforge.net/p/sdcc/bugs/2339/ and section "3.8.4 Z80
Interrupt Service Routines" in the manual.

According to the manual, we have:
1) non-interruptible isr (can be interrupted by nmi only):
void i1(void) __interrupt
2) interruptible isr (can be interrupted by any interupt)
void i2(void) __critical __interrupt(0)
3) nmi handler (can be interrupted by nmi only)
void i3(void) __critical __interrupt

We generate code:
1)
save regs
...
restore regs
reti
2)
di
save regs
...
restore regs
ei
reti
3)
save regs
...
restore regs
retn

Out of these, 3) looks correct to me. But 1) fails to reenable
interrupts at the end (I think there should be an ei before the reti).
And 2) is completly wrong, I think it should be:
ei
save regs
...
restore regs
reti

Did I miss something?

Philipp
(who so far always wrote his interrupt handlers in asm instead of using
the SDCC-provided facilities)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature



Message: 4
Date: Thu, 28 Apr 2016 14:55:45 +0200
From: Philipp Klaus Krause <pkk-dH2bkuHepfc@public.gmane.org>
Subject: Re: [Sdcc-user] Interrupts on Z80 and Z180
To: sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Message-ID: <57220851.7050906-dH2bkuHepfc@public.gmane.org>
Content-Type: text/plain; charset="windows-1252"

On 28.04.2016 14:31, Philipp Klaus Krause wrote:
I had a look at bug reports https://sourceforge.net/p/sdcc/bugs/2131/
and https://sourceforge.net/p/sdcc/bugs/2339/ and section "3.8.4 Z80
Interrupt Service Routines" in the manual.

According to the manual, we have:
1) non-interruptible isr (can be interrupted by nmi only):
void i1(void) __interrupt
2) interruptible isr (can be interrupted by any interupt)
void i2(void) __critical __interrupt(0)
3) nmi handler (can be interrupted by nmi only)
void i3(void) __critical __interrupt

Also, I think that the syntax for 1) and 2) should be swapped. It seems
vcounter-intuitive that the one with __critical can be interrupted, but
not the one without.

Philipp


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature



Message: 5
Date: Thu, 28 Apr 2016 15:04:56 +0100
From: Alan Cox <alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
Subject: Re: [Sdcc-user] Interrupts on Z80 and Z180
To: Philipp Klaus Krause <pkk-dH2bkuHepfc@public.gmane.org>
Cc: Sdcc-User <sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Message-ID: <20160428150456.6d288f6f-+KEw/ACL1GZE/aiTQr5FLb0Ud+EcFu5g@public.gmane.org>
Content-Type: text/plain; charset=US-ASCII

We generate code:
1)
save regs
...
restore regs
reti
2)
di
save regs
...
restore regs
ei
reti
3)
save regs
...
restore regs
retn

Out of these, 3) looks correct to me. But 1) fails to reenable
interrupts at the end (I think there should be an ei before the reti).
And 2) is completly wrong, I think it should be:
ei
save regs
...
restore regs
reti

Did I miss something?

When I looked at this ages ago I came to the same conclusion but never
worried about it as I couldn't use those methods anyway because I needed
to be able to save/restore interrupt state.

Of the others

Your changes to #1 are IMHO correct
You can't implement #2 on a Z80 this way
#3 appears to be correct (as far as it goes for Z80)

For the #2 case you can't do the ei because on many platforms (eg MSX)
you'll immediately take another interrupt and execute nothing but

ei
push af
irq entry
ei
push af
irq entry

until you crash.

The #1 case is only safe because the ei takes effect the instruction
after (ie after the reti), a detail quite a few emulators get wrong

The general case of a Z80 interrupt handler that can be re-entered is


irq_entry:
push stuff
save state from interrupting device
ack interrupt source on priority aware controller
ei
process state from device
pop stuff
ret

In some situations you even end up having to do stuff like

irq_entry:
push stuff
save state from interrupting device
push dummy_ret
ei
reti ; acks the IRQ returns to the next instr
dummy_ret:
process state from device
pop stuff
ret

Neither of those can be expressed in a function entry annotation


Z180 is different again because you've got multiple IRQ sources and
something resembling onboard interrupt controllers.

Alan





Message: 6
Date: Thu, 28 Apr 2016 18:05:43 +0200
From: Philipp Klaus Krause <pkk-dH2bkuHepfc@public.gmane.org>
Subject: Re: [Sdcc-user] Interrupts on Z80 and Z180
To: sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Message-ID: <572234D7.2070009-dH2bkuHepfc@public.gmane.org>
Content-Type: text/plain; charset="windows-1252"

On 28.04.2016 16:04, Alan Cox wrote:

For the #2 case you can't do the ei because on many platforms (eg MSX)
you'll immediately take another interrupt and execute nothing but

ei
push af
irq entry
ei
push af
irq entry

until you crash.

Ah, yes. Level-triggered interrupts. So I guess I'll just drop support
for 2) for the z80 and z180 backends.
We can keep it for the tlcs90, r2k and r3ka, which use edge-triggered
interrupts. Anyone know about gbz80?

Philipp


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature




Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z




Sdcc-user mailing list
Sdcc-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/sdcc-user


End of Sdcc-user Digest, Vol 116, Issue 9
*****************************************

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Philipp Klaus Krause | 28 Apr 14:31 2016
Picon

Interrupts on Z80 and Z180

I had a look at bug reports https://sourceforge.net/p/sdcc/bugs/2131/
and https://sourceforge.net/p/sdcc/bugs/2339/ and section "3.8.4 Z80
Interrupt Service Routines" in the manual.

According to the manual, we have:
1) non-interruptible isr (can be interrupted by nmi only):
void i1(void) __interrupt
2) interruptible isr (can be interrupted by any interupt)
void i2(void) __critical __interrupt(0)
3) nmi handler (can be interrupted by nmi only)
void i3(void) __critical __interrupt

We generate code:
1)
save regs
...
restore regs
reti
2)
di
save regs
...
restore regs
ei
reti
3)
save regs
...
restore regs
retn

Out of these, 3) looks correct to me. But 1) fails to reenable
interrupts at the end (I think there should be an ei before the reti).
And 2) is completly wrong, I think it should be:
ei
save regs
...
restore regs
reti

Did I miss something?

Philipp
(who so far always wrote his interrupt handlers in asm instead of using
the SDCC-provided facilities)

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Yordan | 22 Apr 21:57 2016
Picon

disable watchdog

hi, im new in microcontroller programming, so i need help to disable watchdog timer, can anybody tell me how
to do it using sdcc?
i found this snippet 
__code uint16_t __at (_CONFIG1) __configword = _INTRC_OSC_NOCLKOUT & _WDTE_OFF & _LVP_OFF;
but it results in this error
error 20: Undefined identifier '_WDTE_OFF'
im working for a pic16f818 mcu and im using 
SDCC : mcs51/gbz80/z80/ds390/pic16/pic14/TININative/ds400/hc08 3.0.2 # (Apr 19 2016) (Linux)
thanks

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
alvin albrecht | 20 Apr 01:21 2016
Picon

Re: New user / header files / optimisations STM8

>However, just a few days ago we discussed
>various floating point formats and one of them
>was to leave the actual computations to the FP
>library, which would make it hard for the compiler
>to optimise these as it could not call those functions
>at compile time.
>This is pretty trivial to optimize at compile time
>as long as everything is IEEE FP but if the run time
>libraries are not 100% compatible we have subtle issues.
 
I don't think leaving the stored float format to the
library interferes with this sort of optimization.

The compiler can still do computations using the max
precision fp type it has; the last step for the compiler
would be communicating this result to an external
function supplied by the library authors to generate
a stream of bytes representing the number in the
proprietary format.
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Georg Icking-Konert | 19 Apr 20:53 2016
Picon

Re: New user / header files / optimisations STM8 (Nick Hill)

Hi Nick,

I totally agree that the SPL headers (and functions) are not very convenient. However, "unfortunately“ there are a lot of examples on the ST homepage for the STM8 which are based on the SPL… 

Has someone already released fine grained SDCC compatible header
files for the STM8?

Due to the mentioned SPL licence issue and for convenience I developed my own header for STM8S and STM8L, which is available as part of a loose collection of templates under 


This header allows byte or bitfield access (where suitable). The templates are compatible with both STVD/Cosmic and SDCC. The latter currently uses Makefiles, since I am still looking for a suitable, lean, portable IDE to facilitate development under SDCC. Any idea/hint…?

Hope this is of use for you!?

Regards,
Georg Icking-Konert
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Nick Hill | 18 Apr 22:58 2016
Picon

New user / header files / optimisations STM8

Hi All.

I have recently re-entered the world of micro programming with both
STM8 and PIC.

I found the move from PC a little difficult since there seems to be a
range of proprietary headers which published code tends to be written
for. It is often not even clear which header files code is written
for, and so far, I haven't even seen headers released with the code.
For the un-initiated, this can be daunting. I suspect this high
barrier to entry feature comes courtesy of the licensing ST decided to
apply to their header files.

I notice many example programs for SDCC and the STM8 define registers
explicitly in the code instead of using pre-defined mnemonic
representations of registers which may otherwise be defined in a
header file. A freely licensed set of headers with consistent and
standardised mnemonics and register bit granularity would be seriously
useful. I have started writing my own header file for all the code I
write. Perhaps as this gets more complete and compatible across
compilers, I might release this, unless someone else has done the
same.

I have so far been getting used to the architecture with ST Visual
develop combined with a free evaluation version of the cosmic
compiler.

I don't believe the Cosmic compiler free version is supposed to lack
optimisation found on the paid for version. However, I'm not
particularly impressed with the Cosmic compiler since I have defined a
constant expression featuring a raised to the power expression. No run
time variables, no globals affected.  An inclusion of a reference to
this constant results in the code growing from about 3.6k to nearly
8k. All the floating point math functions find their way into the
final code, and doesn't even currently reference a run-time variable.
The constant expression can and I believe should be evaluated at
compile time, and superfluous math functions shouldn't find their way
into the final release binary.

Should I expect SDCC to do better, and to optimise away functions
which are not dependent on run time variables?

I have had to start re-factoring some code in my header file, and find
the ST header files broadly incompatible with SDCC. Where do I go from
here? Has someone already released fine grained SDCC compatible header
files for the STM8?

Thanks.

Nick.

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Philipp Klaus Krause | 11 Apr 20:10 2016
Picon

A floating-point type cheaper than float

Dear SDCC users,

SDCC currently implements 32-bit float as its only floating-point data type.

Would you like to see a cheaper one in SDCC, that uses only 16 bits?

Would you use it?

Philipp

P.S.: Background info: There is growing hardware support for floating
types smaller than float. And today WG14 decided to continue work on
making this available in C, so it is likely to appear in the next C
standard. None of the architectures targeted by SDCC has hardware
floating-point support. But having a floating-point type cheaper than
float might still be worth it.

P.P.S.: Even if there is demand for this, I probably won't find time to
implement it soon. On the other hand, the next C standard seems to be
nearly 6 years away anyway.

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Philipp Klaus Krause | 3 Apr 01:24 2016
Picon

Which multibyte and wide character functions do we need?

AFAIK all this stuff is optional for freestanding implementations like
SDCC. But some might be useful.
I'd suggest (from the C11 standard):

7.28.1
7.29.6

Anything else?

Philipp

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
Gavin Bauer | 30 Mar 19:24 2016
Picon

Programmers - Hardware

Hi

Not quite sdcc relelated directly, just thought I'd get some help on a
hardware note with programmers used.
I'm currently looking for hardware options to program the chips via
linux. I have everything else necessary and working on code::blocks,
compiled via sdcc on an Ubuntu 14.04 system, but unfortunately the
hardware I currently use has to be plugged into a seperate laptop with
win7 to transfer code to chip.

Any suggestions on Linux compatible hardware programmers would be welcome.

Current devices used are mainly 80c32 based. I'm primarily Atmel.

Regards
Gavin Bauer

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
Gunnar.Henne | 28 Mar 07:03 2016
Picon
Picon

[SPAM] Fw: new important message

Hello!

 

New message, please read http://personalinjurypawtucket.com/already.php

 

Gunnar.Henne-Mmb7MZpHnFY@public.gmane.org

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
David McMackins | 27 Mar 16:00 2016
Gravatar

Undefined reference error for function in static library

I'm running Debian Sid, using SDCC 3.5.0 for the gbz80 architecture.

In my statically-linked library, I have been using only one source file,
but today I had a reason to add another. In this second source file, I
defined gb_memcpy which is a version of standard memcpy that uses an
8-bit length parameter instead of a size_t.

I changed calls of memcpy in my library to gb_memcpy, and the library
itself compiles without error (using "sdcc -c" and packing the resulting
.rel files into an archive, as stated in the documentation). However,
when I try to compile my test program (in which I also tried to use
gb_memcpy), I got an undefined reference error claiming I had not
defined gb_memcpy for both the test module and the module in my library
which used it.

I triple-checked the .rel file to make sure it was indeed defined, and I
checked the archive to make sure that the .rel which defined the
_gb_memcpy symbol was included.

The error text shows:

?ASlink-Warning-Undefined Global '_gb_memcpy' referenced by module 'gbtest'

?ASlink-Warning-Undefined Global '_gb_memcpy' referenced by module
'gbscreen'

If there's any other information you need, I can provide it. Code itself
doesn't seem to be relevant here. I'm including the right header files
(thus the compiler doesn't error), and I've passed the proper -L flag to
include the library when compiling. I've made no changes from the last
working build of my library other than adding this file/function.

My guess is it's something to do with the existence of the separate file
and not the function itself.

Happy Hacking,

David E. McMackins II
Associate, Free Software Foundation (#12889)

www.mcmackins.org www.delwink.com
www.gnu.org www.fsf.org

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140

Gmane