Skip to contentSkip to conversation

more build errors ...

DISCUSSION Gerd Hoffmann 2 participants 3 messages Jan 9, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi,

Get these now:

this one with non-pae builds:

arch/i386/kernel/built-in.o: In function `APIC_init_uniprocessor':
(.init.text+0x6357): undefined reference to `setup_boot_clock'

this on both pae and non-pae (CONFIG_MAGIC_SYSRQ=y):

drivers/built-in.o: In function `xencons_rx':
(.text+0x17f09): undefined reference to `sysrq_enabled'

cheers,
Gerd

Signature · 1 line
Gerd Hoffmann <[email protected]>
#1 lore raw
Quoted 5 lines

arch/i386/kernel/built-in.o: In function `APIC_init_uniprocessor':
(.init.text+0x6357): undefined reference to `setup_boot_clock'

drivers/built-in.o: In function `xencons_rx':
(.text+0x17f09): undefined reference to `sysrq_enabled'

Here is the fix for both. Not fully sure the first one is correct though, I've just moved the inline functions into the correct #ifdef CONFIG_foo section, but didn't uninline them like rusty did for the apic_* ones. As they are hardly called by modules it should be ok this way I think.

cheers,
Gerd

Signature · 1 line
Gerd Hoffmann <[email protected]>
---
 drivers/xen/console/console.c |    3 +--
 include/asm-i386/paravirt.h   |   20 ++++++++++----------
 2 files changed, 11 insertions(+), 12 deletions(-)
drivers/xen/console/console.c +1 -2
Index: paravirt-2.6.20-rc4-hg689/drivers/xen/console/console.c
===================================================================
@@ -83,7 +83,6 @@ static int xc_num = -1;
 
 #ifdef CONFIG_MAGIC_SYSRQ
 static unsigned long sysrq_requested;
-extern int sysrq_enabled;
 #endif
 
 static int __init xencons_setup(char *str)
@@ -324,7 +323,7 @@ void xencons_rx(char *buf, unsigned len)
 
 	for (i = 0; i < len; i++) {
 #ifdef CONFIG_MAGIC_SYSRQ
-		if (sysrq_enabled) {
+		if (sysrq_on()) {
 			if (buf[i] == '\x0f') { /* ^O */
 				sysrq_requested = jiffies;
 				continue; /* don't print the sysrq key */
include/asm-i386/paravirt.h +10 -10
Index: paravirt-2.6.20-rc4-hg689/include/asm-i386/paravirt.h
===================================================================
@@ -493,6 +493,16 @@ static inline void apic_write_atomic(uns
 	paravirt_ops.apic_write_atomic(reg,v);
 }
 unsigned long apic_read(unsigned long reg);
+
+static inline void setup_boot_clock(void)
+{
+	paravirt_ops.setup_boot_clock();
+}
+
+static inline void setup_secondary_clock(void)
+{
+	paravirt_ops.setup_secondary_clock();
+}
 #endif
 
 /* These will be unexported once raid6 is fixed... */
@@ -525,16 +535,6 @@ static inline void pmd_clear(pmd_t *pmdp
 {
 	paravirt_ops.pmd_clear(pmdp);
 }
-
-static inline void setup_boot_clock(void)
-{
-	paravirt_ops.setup_boot_clock();
-}
-
-static inline void setup_secondary_clock(void)
-{
-	paravirt_ops.setup_secondary_clock();
-}
 #endif
 
 /* Lazy mode for batching updates / context switch */

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/virtualization

#2 lore raw
Quoted 9 lines · Gerd Hoffmann
Quoted 8 lines

arch/i386/kernel/built-in.o: In function `APIC_init_uniprocessor':
(.init.text+0x6357): undefined reference to `setup_boot_clock'

drivers/built-in.o: In function `xencons_rx':
(.text+0x17f09): undefined reference to `sysrq_enabled'

Quoted 6 lines

Here is the fix for both. Not fully sure the first one is correct though, I've just moved the inline functions into the correct #ifdef CONFIG_foo section, but didn't uninline them like rusty did for the apic_* ones. As they are hardly called by modules it should be ok this way I think.

Thanks. I've merged the xen-console one; I'll do the other one shortly.

J