From: BlaisorBlade <bla...@ya...> - 2004-03-30 18:15:46
|
Jeff, is there any good reason to first link everything in vmlinux and then link things properly in linux? Because I have reasons (i.e. bugs) against this. --THE BUGS **Symptom: /proc/kallsyms is empty. Any stack dump cannot contain the symbol names. **Reason: This because the vmlinux link script is wrong (you rejected the patch I sent you time ago, was in the patchset). But kallsyms must contain the true addresses of the kernel symbols; since they change between vmlinux and linux (if they didn't change, the second step would be useless), they cannot be correct. I think that even System.map symbols do not match. **Fix: So, we actually need to make vmlinux have the correct addresses, i.e. avoid the two-pass linking. --HOW TO FIX THIS: You specify the -r flags for vmlinux, so you could as well pass the extra objects in and the right link script. --WHY SHOULD WE BOTHER? Because it is a fix and it is easy to fix. Any comments? -- Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 |
From: Jeff D. <jd...@ad...> - 2004-03-30 21:01:57
|
bla...@ya... said: > This because the vmlinux link script is wrong (you rejected the patch > I sent you time ago, was in the patchset). But kallsyms must contain > the true addresses of the kernel symbols; since they change between > vmlinux and linux (if they didn't change, the second step would be > useless), they cannot be correct. I think that even System.map > symbols do not match. I didn't reject it so much as I put it aside for the moment because I didn't understand it. Your explanations, then and now, make sense, so I'm going to have another look at it for my next 2.6 patch. Jeff |
From: BlaisorBlade <bla...@ya...> - 2004-03-31 18:32:07
|
Alle 23:38, marted=EC 30 marzo 2004, Jeff Dike ha scritto: > bla...@ya... said: > > This because the vmlinux link script is wrong (you rejected the patch > > I sent you time ago, was in the patchset). But kallsyms must contain > > the true addresses of the kernel symbols; since they change between > > vmlinux and linux (if they didn't change, the second step would be > > useless), they cannot be correct. I think that even System.map > > symbols do not match. > > I didn't reject it so much as I put it aside for the moment because I > didn't understand it. > > Your explanations, then and now, make sense, so I'm going to have another > look at it for my next 2.6 patch. Wait a moment (maybe you already understood this but I'm not sure): what I= =20 suggest *now* is much *more* than the patch I had at that time - that one w= as=20 not enough (i.e. with that you get /proc/kallsyms full, but having wrong=20 addresses)! =2D-=20 Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 |
From: Jeff D. <jd...@ad...> - 2004-03-31 20:29:17
|
bla...@ya... said: > Wait a moment (maybe you already understood this but I'm not sure): > what I suggest *now* is much *more* than the patch I had at that time > - that one was not enough (i.e. with that you get /proc/kallsyms > full, but having wrong addresses)! Yeah, but at least you're explaining things, which you didn't do with the combo patch that I mostly applied last time. I haven't checked whether you're explaining everything that I don't understand yet :-) Jeff |