Mail Archives: djgpp/2001/06/01/17:15:09
From: | Fabrizio Da Ros <fabrium AT libero DOT it>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Asm jmp and C label - link error: undefined reference...
|
Message-ID: | <MPG.158222a0d5002a7f989680@news.libero.it>
|
X-Newsreader: | MicroPlanet Gravity v2.30
|
Lines: | 49
|
Date: | Fri, 01 Jun 2001 21:11:13 GMT
|
NNTP-Posting-Host: | 151.25.42.237
|
X-Complaints-To: | abuse AT libero DOT it
|
X-Trace: | news.infostrada.it 991429873 151.25.42.237 (Fri, 01 Jun 2001 23:11:13 MET DST)
|
NNTP-Posting-Date: | Fri, 01 Jun 2001 23:11:13 MET DST
|
Organization: | [Infostrada]
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
Hi, I'm going crazy to solve a little problem, can
someone help me?
This is the source code:
-------------
#include <stdio.h>
short int a;
void func1 ()
{
__asm__ __volatile__ (
"btl $0, _a\n\t"
"jc boardtest" );
goto notest;
boardtest:
printf ("testing...\n");
notest:
printf ("exiting...\n");
}
int main ()
{
a = 1;
func1 ();
}
----------
OK, it's stupid, but this is only an example to explain
the problem.
I need to jump with "jc" after testing the bit. The
problem arises in the link stage:
"undefined reference to boardtest" (in the line where is
the jc). No way to solve the problem. I tried to prefix
with on or two _, I tried to put a dummy goto in func1 to
boardtest, to tell gcc that i NEED that label. The
problem arises every time. I tried to define the label in
an asm statament, but is the same. The only way is to
write the code all in asm, BUT I CAN'T do this in my real
program.
Another way to solve the problem is to compile with -S
option to obtain the assembly source, and write in the
correct location the label "boardtest:", than compile and
link. But...It's not human!
I have downloaded and installed the entirely DJGPP
package about 2 mounth ago...
Thank you, Fabrizio.
- Raw text -