[Top][All Lists]
[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