ia64 compressed makefile target
David and Bjorn,
I noticed that the arch/ia64/Makefile 'compressed' target there's a '--strip-all' arg getting passed to objcopy. This has the effect of removing relocation info from the vmlinux binary that we need for systems w/o memory at the default link address, if I understand correctly. Would it be possible to change this option to '--strip-debug' instead? I can provide one-line patches for this against your bitkeeper trees if that's easiest for you...
Thanks,
Jesse
Jesse Barnes <[email protected]> writes:
|> David and Bjorn, |> |> I noticed that the arch/ia64/Makefile 'compressed' target there's a |> '--strip-all' arg getting passed to objcopy. This has the effect of |> removing relocation info from the vmlinux binary that we need for |> systems w/o memory at the default link address, if I understand |> correctly. Would it be possible to change this option to |> '--strip-debug' instead?
How about --strip-unneeded?
Andreas.
Signature · 4 lines
Andreas Schwab, SuSE Labs, [email protected] SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
Quoted 11 lines · Andreas Schwab
Jesse Barnes <[email protected]> writes:
|> David and Bjorn, |> |> I noticed that the arch/ia64/Makefile 'compressed' target there's a |> '--strip-all' arg getting passed to objcopy. This has the effect of |> removing relocation info from the vmlinux binary that we need for |> systems w/o memory at the default link address, if I understand |> correctly. Would it be possible to change this option to |> '--strip-debug' instead?
Quoted 3 lines
How about --strip-unneeded?
Andreas.
Even better.
Thanks,
Jesse
Or perhaps David will take the CONFIG_IA64_VMAP_KERNEL patch that I posted a week ago which also allows the kernel to run on systems without memory at the default link address. Admittedly it's more than one line, but it contains much of the same infrastructure that is needed to support kernel text replication.
-Tony
-----Original Message-----
From: Jesse Barnes [mailto:[email protected]]
Sent: Tuesday, October 22, 2002 8:21 PM
To: [email protected]; [email protected]; [email protected]
Subject: [Linux-ia64] ia64 compressed makefile target
David and Bjorn,
I noticed that the arch/ia64/Makefile 'compressed' target there's a '--strip-all' arg getting passed to objcopy. This has the effect of removing relocation info from the vmlinux binary that we need for systems w/o memory at the default link address, if I understand correctly. Would it be possible to change this option to '--strip-debug' instead? I can provide one-line patches for this against your bitkeeper trees if that's easiest for you...
Thanks,
Jesse
_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Tony
Tony> Or perhaps David will take the CONFIG_IA64_VMAP_KERNEL patch Tony> that I posted a week ago which also allows the kernel to run Tony> on systems without memory at the default link address. Tony> Admittedly it's more than one line, but it contains much of Tony> the same infrastructure that is needed to support kernel text Tony> replication.
I don't have a strong preference either way, but I do have some concerns about the VMAP_KERNEL. I really dislike the fact that it requires different versions of virtual-to-physical translations for kernel addresses. No other platform does that, so it will be a source of continual worry. Jesse, could you describe your approach a little more? I assume you link the kernel with "ld -r" and have an elilo that applies the relocations?
--david
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
On Wed, 23 Oct 2002 10:46:32 -0700, "Luck, Tony" <[email protected]>
said:
Tony> Or perhaps David will take the CONFIG_IA64_VMAP_KERNEL patch Tony> that I posted a week ago which also allows the kernel to run Tony> on systems without memory at the default link address. Tony> Admittedly it's more than one line, but it contains much of Tony> the same infrastructure that is needed to support kernel text Tony> replication.
Quoted 7 lines
I don't have a strong preference either way, but I do have some concerns about the
VMAP_KERNEL. I really dislike the fact that it requires different versions of virtual-to-physical translations for kernel addresses. No other platform does that, so it will be a source of continual worry. Jesse, could you describe your approach a little more? I assume you link the kernel with "ld -r" and have an elilo that applies the relocations?
I'm not sure that the mapping the kernel is quite as scary as it appears to be:
1) All of the places where we need to take special care are in initialization code.
2) Code that can be loaded as a module (which is a whole lot of code) cannot make any assumptions about __pa() working on addresses in .text/.data/.bss
A relocating elilo sounds interesting too (it passes the "don't do things in the kernel unless you really have to" test).
-Tony
Quoted 7 lines · David Mosberger
I don't have a strong preference either way, but I do have some concerns about the
VMAP_KERNEL. I really dislike the fact that it requires different versions of virtual-to-physical translations for kernel addresses. No other platform does that, so it will be a source of continual worry. Jesse, could you describe your approach a little more? I assume you link the kernel with "ld -r" and have an elilo that applies the relocations?
Elilo 3.1 supports relocation, but now that I look, we're not passing -r to ld when the kernel is linked, which makes me wonder why it works at all. But I've confirmed that a kernel stripped with --strip-all doesn't boot, while the same binary stripped with --strip-debug does (haven't tried --strip-unneeded, but that should work too). I can look into it more if you're not comfortable with the change, and maybe Tony has something to add?
Thanks,
Jesse
Quoted 18 lines · David Mosberger
Quoted 7 lines
I don't have a strong preference either way, but I do have some concerns about the
VMAP_KERNEL. I really dislike the fact that it requires different versions of virtual-to-physical translations for kernel addresses. No other platform does that, so it will be a source of continual worry. Jesse, could you describe your approach a little more? I assume you link the kernel with "ld -r" and have an elilo that applies the relocations?Elilo 3.1 supports relocation, but now that I look, we're not passing -r to ld when the kernel is linked, which makes me wonder why it works at all. But I've confirmed that a kernel stripped with --strip-all doesn't boot, while the same binary stripped with --strip-debug does (haven't tried --strip-unneeded, but that should work too). I can look into it more if you're not comfortable with the change, and maybe Tony has something to add?
Quoted 3 lines
Thanks,
Jesse
There is a second way to specify that the kernel is relocatable.
We put a
relocatable
directive in the elilo.conf file.
I think either way works.
Signature · 3 lines
Thanks Jack Steiner (651-683-5302) (vnet 233-5302) [email protected]
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Jesse Barnes
Jesse> Elilo 3.1 supports relocation, but now that I look, we're not Jesse> passing -r to ld when the kernel is linked, which makes me Jesse> wonder why it works at all.
Hmmh, I may be dense here, but I don't see any code that applies relocations. I do see code in Elilo that allows loading the kernel at a non-default address, but not much more than that. Can you clarify?
--david
Quoted 9 lines · David Mosberger
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Jesse Barnes
Jesse> Elilo 3.1 supports relocation, but now that I look, we're not Jesse> passing -r to ld when the kernel is linked, which makes me Jesse> wonder why it works at all.
Hmmh, I may be dense here, but I don't see any code that applies relocations. I do see code in Elilo that allows loading the kernel at a non-default address, but not much more than that. Can you clarify?
Yeah, I think I'm missing something too. I'll poke around some more.
Jesse