non-virtual thunk is?

C

contactmayankjain

Can you explain what a non-virtual thunk is? I have been getting
this error when trying to link libraries that I have built with
optimization.




--
Regards
Mayank Jain
Niksun
9818390836
www.mayankjain.110mb.com
 
J

jjds101

Can you explain what a non-virtual thunk is? I have been getting
this error when trying to link libraries that I have built with
optimization.
By any chance, does this happen specifically when you change -Os to -
O3 when building
the libraries? Just a shot in the dark...
 
C

contactmayankjain

By any chance, does this happen specifically when you change -Os to -
O3 when building
the libraries? Just a shot in the dark...

Hi

Thanks a lot for the try

When I was building on 64-bit machine I got the error "Non virtual
thunk".
So we added an optimization flag "-O2" to our makefiles, compiled all
the libraries as well as the code again and we got rid of this error.
But JI got a new error of "virtual memory exhausted: Cannot allocate
memory".
Then we added "-O1" flag after "-O2" (-O2 -O1) flag in the makefiles,
rebuild everything and we were able to build out code as well as the
package.

Now the binaries that I have build are running fine but when I try to
debug these binaries with gdb , the gdb gives the error
warning: Unable to get location for thread creation breakpoint:
generic

error [New LWP 100106] Cannot find thread, Thread ID=1, generic error

Regards
Mayank Jain
Niksun
9818390836
www.mayankjain.110mb.com
 
?

=?ISO-8859-1?Q?Erik_Wikstr=F6m?=

Hi

Thanks a lot for the try

When I was building on 64-bit machine I got the error "Non virtual
thunk".
So we added an optimization flag "-O2" to our makefiles, compiled all
the libraries as well as the code again and we got rid of this error.
But JI got a new error of "virtual memory exhausted: Cannot allocate
memory".
Then we added "-O1" flag after "-O2" (-O2 -O1) flag in the makefiles,
rebuild everything and we were able to build out code as well as the
package.

We are moving a bit off topic here, more help should be sought in groups
for the GNU toolchain (gcc and gdb).

I seem to recall that gcc goes with the last option when there are
conflicts, so you can skip the -O2.
Now the binaries that I have build are running fine but when I try to
debug these binaries with gdb , the gdb gives the error
warning: Unable to get location for thread creation breakpoint:
generic

error [New LWP 100106] Cannot find thread, Thread ID=1, generic error

Have you compiled in debug symbols, useed the latest version of gdb and
gcc? My experience is that optimisations and debugging often don't play
well together, so try turning of optimisations when debugging.
 
C

contactmayankjain

Thanks a lot for the try
When I was building on 64-bit machine I got the error "Non virtual
thunk".
So we added an optimization flag "-O2" to our makefiles, compiled all
the libraries as well as the code again and we got rid of this error.
But JI got a new error of "virtual memory exhausted: Cannot allocate
memory".
Then we added "-O1" flag after "-O2" (-O2 -O1) flag in the makefiles,
rebuild everything and we were able to build out code as well as the
package.

We are moving a bit off topic here, more help should be sought in groups
for the GNU toolchain (gcc and gdb).

I seem to recall that gcc goes with the last option when there are
conflicts, so you can skip the -O2.
Now the binaries that I have build are running fine but when I try to
debug these binaries with gdb , the gdb gives the error
warning: Unable to get location for thread creation breakpoint:
generic
error [New LWP 100106] Cannot find thread, Thread ID=1, generic error

Have you compiled in debug symbols, useed the latest version of gdb and
gcc? My experience is that optimisations and debugging often don't play
well together, so try turning of optimisations when debugging.

Thanks a lot
I am using the latest version of GCC and GDB and this issue happened
when I am porting my code on 64 bit machine. When I turn off the
optimization flag it is giving the error of non virtual thunk as I
explained earlier.
I agree with you that its not safe and recommended to use both
optimization and debugging flag at the same time. But as I am not able
to compile my code without optimization flag. Can you suggest any
solution to this problem.

Regards

Mayank Jain
9818390836
www.mayankjain.110mb.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top