<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi Eliot,<br></div><div><br></div><div>Thanks for your reply.</div><div><br></div><div><div dir="ltr"><div></div></div></div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div><div><div dir="ltr"><div>&nbsp; &nbsp; the attributes are only ever meaningful for static functions. &nbsp;gcc (and other compilers) use faster register-based calling conventions where possible when the optimize.&nbsp; Non-static functions can't be so optimized because they have to accord with the Application Binary Interface (ABI) and on x86 that's a purely stack-based calling convention.&nbsp; But static functions are not visible outside the file and so the optimizer is free to so optimize.&nbsp; But that breaks the use of static functions within gdb; gdb only knows how to call functions that accord with the ABI.&nbsp; Given that we don't care too much about performance in the Debug and Assert VMs but we /do/ care about debuggability (and hence being able to call useful functions, be they static or not) I try and apply the "don't use register parameters" attribute to these functions.</div><div><br></div><div>Des this make sense to you?&nbsp; Cuz if it isn't you need to understand it before you can fix it, otherwise you'll waste a lot of effort chasing down rat holes.</div></div></div></div></blockquote><div>Yes, it makes perfect sense in the abstract. The use of GDB in the concrete to see if the function attributes are actually in place is the specific task I do not know how to approach (I could learn, my gdb skills are rudimentary) so I asked.<br></div><div><br></div><div>My last email about gcc -E confirms the problem is at the cpp stage (fingers crossed). The "fix" of putting #define NoDbgRegParms in config.h.in probably only masked the error; it is that 'false positive' I wanted to confirm.</div><div><br></div><div>cheers.</div><div><br></div><div>tty</div><br></div></body></html>