Skip to contentSkip to conversation

m68k: compile fix - updated vmlinux.lds to include LOCK_TEXT

PATCH In review Al Viro 2 participants 5 messages Dec 15, 2005 – Dec 19, 2005

Subsystems (2)
lore
Share & tools
lore

Al Viro

author
#0 lore raw

PATCH 3/3 m68k: compile fix - updated vmlinux.lds to include LOCK_TEXT

... and that should get m68k to build with gcc 3.x in mainline. gcc4 fixes are separate story.

---
[rz: BTW, proposed variant of thread_info patchset is available for review, see ftp.linux.org.uk/pub/people/viro/task_thread_info-mbox... Doesn't do any incompatible changes, mergable at leisure, reduces the remaining renaming to ~50 lines - the only chunk that will have to go at 2.6.16...]

 arch/m68k/kernel/vmlinux-std.lds  |    1 +
 arch/m68k/kernel/vmlinux-sun3.lds |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

cc448b2f798627bc448ca14f3d6fb39f356bb117

arch/m68k/kernel/vmlinux-std.lds +1 -0
index e58654f..69d1d3d 100644
@@ -13,6 +13,7 @@ SECTIONS
   .text : {
 	*(.text)
 	SCHED_TEXT
+	LOCK_TEXT
 	*(.fixup)
 	*(.gnu.warning)
 	} :text = 0x4e75
arch/m68k/kernel/vmlinux-sun3.lds +1 -0
index cc37e8d..f814e66 100644
@@ -14,6 +14,7 @@ SECTIONS
 	*(.head)
 	*(.text)
 	SCHED_TEXT
+	LOCK_TEXT
 	*(.fixup)
 	*(.gnu.warning)
 	} :text = 0x4e75
Signature · 1 line
0.99.9.GIT
#1 lore raw

Hi,

Quoted 4 lines · Al Viro

[rz: BTW, proposed variant of thread_info patchset is available for review, see ftp.linux.org.uk/pub/people/viro/task_thread_info-mbox... Doesn't do any incompatible changes, mergable at leisure, reduces the remaining renaming to ~50 lines - the only chunk that will have to go at 2.6.16...]

Looks good, but what I still don't understand is why you couldn't do this on top of my patches. I'm waiting now to get all this resolved, before I want to queue any other large patches.

bye, Roman

#2 lore raw
In reply to Al Viro

Hi,

Quoted 2 lines · Al Viro

[rz: BTW, proposed variant of thread_info patchset is available for review, see ftp.linux.org.uk/pub/people/viro/task_thread_info-mbox...

BTW please fix the comment in the last patch, {get,put}_thread_info() didn't come from the m68k tree, so don't blame it for this stuff. The thread_info stuff went through a number changes during 2.5.xx and it's a leftover from this.

bye, Roman

author
#3 lore raw
Quoted 11 lines · Roman Zippel

Hi,

Quoted 2 lines · Al Viro

[rz: BTW, proposed variant of thread_info patchset is available for review, see ftp.linux.org.uk/pub/people/viro/task_thread_info-mbox...

BTW please fix the comment in the last patch, {get,put}_thread_info() didn't come from the m68k tree, so don't blame it for this stuff. The thread_info stuff went through a number changes during 2.5.xx and it's a leftover from this.

<goes to check history>

My apologies - that junk predates the events I'd been thinking about. The rest of comments still stands - it was never used since the moment of introduction...

Speaking of hardirq.h - come on; even argument about check being not in the same place where the value is defined...

* we compare NR_IRQS and HARDIRQ_BITS
* one of them is defined in irq.h, another - in hardirq.h
* due to current header ordering, comparison works in irq.h and not in hardirq.h
* if you change that ordering (which is a *big* patchset, even if you manage to keep it with zero impact on other architectures) so that check can go in either place, you can always put it into the place where it would make more sense in new header ordering; it's not going to be make patch heavier.

IMO for now it's a no-brainer - compile fix that moves comparison to the place where another side of comparison is defined vs. header ordering rework... Sorry.

#4 lore raw

Hi,

Quoted 7 lines · Al Viro

Speaking of hardirq.h - come on; even argument about check being not in the same place where the value is defined...

* we compare NR_IRQS and HARDIRQ_BITS
* one of them is defined in irq.h, another - in hardirq.h
* due to current header ordering, comparison works in irq.h and not in hardirq.h

I rechecked what I did in the m68k tree. The basic idea is that <asm/irq.h> is mostly a private header (basically our <linux/irq.h>), so if we move something around I would prefer the NR_IRQS definition. I tried that, but it broke a few other dependencies, so I changed it that the (public) hardirq.h includes the (private) irq.h.

Basically what we need is a clear separation between private/public and low/high level irq header. For example <linux/interrupt.h> is high level header (it even pulls in <linux/sched.h>!) but it defines irqreturn_t which is also useful in lower level irq headers.

Christoph, what exactly is your plan regarding irq.h/hardirq.h?

bye, Roman