qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Linux x86_64 host


From: Bob Deblier
Subject: Re: [Qemu-devel] Linux x86_64 host
Date: Thu, 07 Oct 2004 20:37:54 +0200

On Thu, 2004-10-07 at 18:16, Johannes Schindelin wrote:
> What if you change this line to HOST_AMD64, and just comment the fprintf
> (not the continue)? Of course, you have to change the lines around 1707
> like so:
> 
>                     if (strstart(sym_name, "__op_param", &p)) {
>                         snprintf(name, sizeof(name), "param%s", p);
>                     } else if(sym_name[0]=='.') {
>                         continue;
>                     } else {
>                         snprintf(name, sizeof(name), "(long)(&%s)",
> sym_name);
>                     }
> 
> (the "else if" and the "continue" are important).
> 
> Explanation: sym_names with a "." are most likely local symbols like jump
> labels, which should not even be exported in the object file.

Gotcha - I know excatly what you're referring to now. Still doesn't
completely fix the problem, but hopefully the following patch will:

diff -r1.35 dyngen.c
1541c1541,1542
<                     fprintf(outfile, "extern char %s;\n", sym_name);
---
>                                       if (sym_name[0] != '.')
>                                               fprintf(outfile, "extern
char %s;\n", sym_name);
1707c1708,1710
<                     } else {
---
>                     } else if (sym_name[0] == '.') {
>                                               continue;
>                                       } else {

Sincerely,

Bob Deblier





reply via email to

[Prev in Thread] Current Thread [Next in Thread]