473,769 Members | 2,599 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

(BUG) Inline assembly/breakpoints in lcc

Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32. If an inline assembly statement immediately follows a for loop
and you try to set a breakpoint on it, then the breakpoint is hit at each
iteration of the loop, not after the loop finishes.

Thanks

Chris

Jul 27 '08 #1
15 2821
Chris Peters wrote:
Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32. If an inline assembly statement immediately follows a for loop
and you try to set a breakpoint on it, then the breakpoint is hit at each
iteration of the loop, not after the loop finishes.

Thanks

Chris
The compiler does NOT emit any debug info when using
inline assembly. That is why the debugger get's confused.

One workaround is to write
_asm("int\t$3") ;
and you will get a breakpoint without any ambiguity.

The problem of not emitting debug info for inline
assembly is an old one. Fixing it would take a lot
of effort.

Soryy about this problem.

jacob

--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
Jul 27 '08 #2
Chris Peters wrote:
Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32.
I believe lcc-win32 has its own newsgroup which may be a better place to
post, especially since the topic of CLC is strictly the language rather
than specific implementations , and the operation of inline assembly is
even more offtopic.

That said, the developer of lcc-win32 does post here so may be able to
confirm your bug report offline.
If an inline assembly statement immediately follows a for loop
and you try to set a breakpoint on it, then the breakpoint is hit at each
iteration of the loop, not after the loop finishes.
--
Mark McIntyre

CLC FAQ <http://c-faq.com/>
CLC readme: <http://www.ungerhu.com/jxh/clc.welcome.txt >
Jul 27 '08 #3
Jacob

Thanks for the reply.

I don't think it would be as hard to fix as you imagine - probably just a
case of adding a -g command line option when you call the assembler.

In my opinion this is a very serious problem, and you should consider
fixing it with high priority.

Thanks

Chris
On Mon, 28 Jul 2008 00:12:36 +0200, jacob navia wrote:
Chris Peters wrote:
>Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32. If an inline assembly statement immediately follows a for loop
and you try to set a breakpoint on it, then the breakpoint is hit at each
iteration of the loop, not after the loop finishes.

Thanks

Chris
The compiler does NOT emit any debug info when using
inline assembly. That is why the debugger get's confused.

One workaround is to write
_asm("int\t$3") ;
and you will get a breakpoint without any ambiguity.

The problem of not emitting debug info for inline
assembly is an old one. Fixing it would take a lot
of effort.

Soryy about this problem.

jacob
Jul 28 '08 #4
Chris Peters wrote, On 29/07/08 00:40:
Jacob

Thanks for the reply.
Please don't top-post, your reply should be interspersed with or after
the text you are replying to. See most messages in this group
*including* the one you were replying to for examples.
I don't think it would be as hard to fix as you imagine - probably just a
case of adding a -g command line option when you call the assembler.
You think you know more about Jacob's code and what is easy to do to it
than he does?
In my opinion this is a very serious problem, and you should consider
fixing it with high priority.
I don't see any reason why Jacob should. If you mess about interspersing
assembler with C you should expect it to cause problems using high level
tools on the result.

Any further discussion of this belongs in comp.compilers. lcc or private
correspondence with Jacob.
--
Flash Gordon
Jul 29 '08 #5
Chris Peters wrote:
Jacob

Thanks for the reply.

I don't think it would be as hard to fix as you imagine - probably just a
case of adding a -g command line option when you call the assembler.
There is no external assembler in lcc-win. It is
integrated with the compiler. It relies on the
debug information that comes with the compiler
In my opinion this is a very serious problem, and you should consider
fixing it with high priority.
Mr Peters:

As far as I see you do not have a maintenance agreement.
Maybe I will do it when I return from holidays, at the end
of August, maybe not.

--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
Jul 29 '08 #6
jacob navia wrote:
Chris Peters wrote:

Mr Peters:

As far as I see you do not have a maintenance agreement.
Maybe I will do it when I return from holidays, at the end
of August, maybe not.
"Chris Peters" is probably the same troll who regularly bates you here.
Just ignore it.

--
Ian Collins.
Jul 29 '08 #7

"jacob navia" <ja***@nospam.c omwrote in message
news:g6******** **@aioe.org...
Chris Peters wrote:
>Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32. If an inline assembly statement immediately follows a for loop
and you try to set a breakpoint on it, then the breakpoint is hit at each
iteration of the loop, not after the loop finishes.
The compiler does NOT emit any debug info when using
inline assembly. That is why the debugger get's confused.

One workaround is to write
_asm("int\t$3") ;
and you will get a breakpoint without any ambiguity.

The problem of not emitting debug info for inline
assembly is an old one. Fixing it would take a lot
of effort.
Have you thought of putting in a Bug Report option in your IDE? Then this
can send a private email or post to the right forum.

--
Bartc
Jul 29 '08 #8
Bartc wrote:
>Chris Peters wrote:
>>>
Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32.
[ ... ]
Have you thought of putting in a Bug Report option in your IDE? Then
this can send a private email or post to the right forum.
He would need to add a whole lot of network/http code for that function.
It makes sense for huge commercial products like MSVC, not so much for
lcc-win.

Jul 29 '08 #9
santosh said:
Bartc wrote:
>>Chris Peters wrote:

Hello Group

Can anyone confirm or suggest workrounds for the following bug in
lccwin32.

[ ... ]
>Have you thought of putting in a Bug Report option in your IDE? Then
this can send a private email or post to the right forum.

He would need to add a whole lot of network/http code for that function.
It makes sense for huge commercial products like MSVC, not so much for
lcc-win.
Oh, it shouldn't be that hard. It can even be done in ISO C.

#include <stdio.h>

extern int compile(int, char **);

int main(int argc, char **argv)
{
int ch;
const char *name = "jacob";
const char *domainname = "fixme.com.inva lid";
compile(argc, argv);
printf("Please type an 'at' character, ");
printf("of the kind found in email addresses.\n");
ch = getchar();
printf("If you have any bug reports,");
printf(" please send them to: %s%c%s\n",
name, ch, domainname);
return 0;
}

--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Jul 29 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

21
746
by: Rubén Campos | last post by:
I haven't found any previous message related to what I'm going to ask here, but accept my anticipated excuses if I'm wrong. I want to ask about the real usefulness of the 'inline' keyword. I've read many authors (and it's my belief, too) who discourage the use of the 'inline' keyword, because: - The 'inline' word only advice the compiler about wich functions should be expanded, but not force it to expand them. Also, the compiler can...
3
3674
by: Ganesh Tawde | last post by:
Hi. I am trying to use the below pure assembly code as inline assembly in C. The pure assembly code gives proper data but the inline assembly code gives me distorted data. I am not able to figure out the problem. can any body help me on this? here is the working pure assembly function *************************************************************************
6
2422
by: ThomasR | last post by:
I was wondering on the breadth of optimization with .NET JIT compiler. Let's presume I have an assembly of static classes - mostly helper functions. Some of these functions may be very small (small enough that the optimizing compiler would inline them). If I have another assembly that references this helper libary assembly, could .NET's JIT compiler inline compile the usage of these small helper functions?
5
1950
by: Ondrej Spanel | last post by:
I though that inline functions should be always visible only in the compilation unit where they are defined - meaning if compiler cannot inline them, they should be handled as if declared static. However sample attached shows VC compiler does not work this way (tested in .NET 2003). When you compile the sample with inlining enabled (like in default Release config), the output is A1 = 1, A2 = 2. When run with inlining disabled (Debug),...
1
2553
by: Francesc Guim Bernat | last post by:
Dear colleagues, i'm getting in troubles using one XML library with Visual Studio .NET and Xerces with Xalan. When i execute the code i get the next run time error: "Run-Time Check Failure #2 - Stack around the variable 'resolver' was corrupted." Looking on internet i've seen that the compiler, if you're running your
5
1930
by: Bert Jansen | last post by:
There seems to be a bug in de VS .net C++ compiler (optimization) when using inline functions that return static data. The following code demonstrates this (Win32 console app with ATL support): #include "stdafx.h" #include <atltime.h> int _tmain(int argc, _TCHAR* argv) {
8
1774
by: Elliot M. Rodriguez | last post by:
I am having a heckuva time debugging this, or determining why my page is behaving this way. I have a search form, that when completed, returns a datagrid. When the user selects a row (normal selectcommand button), i assign some session variables and perform a rediect to a "more information" page. Neither page is using Output Caching. On the more information page, a button reads "new search". this clears the session variables i set in...
0
1303
by: PJ6 | last post by:
DotNet has always had quirky problems with debugging DLL's when running inside of other projects - sometimes, mysteriously, you get unhittable breakpoints (question marks), or break points that get a "plus" sign next to them and gain "children". Sometimes it's your own fault and the cause is obvious, but on occasion these things happen for no apparent reason... now I've uncovered an unexpected cause. Reference comparisons are...
2
1830
by: =?Utf-8?B?TWljayBPJ05laWxs?= | last post by:
I am currently trying to wrap an old library (ImageMagick) in .NET, and am having problems with inline expansions. I have recompiled the library in vc++ 2005 OK. However, when I try to access any inline methods of the library classes from my managed classes, the inlining does not seem to occur, and I end up with a linker error 2001 - unresolved external. Is there a trick for getting this to work. I have tried using Default inline (/Ob0) in...
0
10212
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10047
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9995
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9863
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7410
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6674
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5304
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5447
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
2815
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.