From: Fabrizio Da Ros Newsgroups: comp.os.msdos.djgpp Subject: Asm jmp and C label - link error: undefined reference... Message-ID: 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 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.