public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.4.16 Compiler warning
@ 2001-11-28 10:48 Mike Black
  2001-11-28 15:19 ` Kai Germaschewski
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Black @ 2001-11-28 10:48 UTC (permalink / raw)
  To: linux-kernel

This appears to be a non-fatal warning....does this need to be cleaned up?
gcc 2.95.3

gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-tri
graphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fn
o-common -pipe -mpreferred-stack-boundary=2 -march=i686    -c -o pci-pc.o
pci-pc.c
{standard input}: Assembler messages:
{standard input}:1107: Warning: indirect lcall without `*'
{standard input}:1192: Warning: indirect lcall without `*'
{standard input}:1279: Warning: indirect lcall without `*'
{standard input}:1361: Warning: indirect lcall without `*'
{standard input}:1372: Warning: indirect lcall without `*'
{standard input}:1383: Warning: indirect lcall without `*'
{standard input}:1470: Warning: indirect lcall without `*'
{standard input}:1482: Warning: indirect lcall without `*'
{standard input}:1494: Warning: indirect lcall without `*'
{standard input}:1975: Warning: indirect lcall without `*'
{standard input}:2068: Warning: indirect lcall without `*'

Here's all the lcall's in pci-pc.c:
        __asm__("lcall (%%edi); cld"
                        "lcall (%%edi); cld\n\t"
        __asm__("lcall (%%edi); cld\n\t"
                __asm__("lcall (%%esi); cld\n\t"
                __asm__("lcall (%%esi); cld\n\t"
                __asm__("lcall (%%esi); cld\n\t"
                __asm__("lcall (%%esi); cld\n\t"
                __asm__("lcall (%%esi); cld\n\t"
                __asm__("lcall (%%esi); cld\n\t"
                "lcall (%%esi); cld\n\t"
        __asm__("lcall (%%esi); cld\n\t"


________________________________________
Michael D. Black   Principal Engineer
mblack@csihq.com  321-676-2923,x203
http://www.csihq.com  Computer Science Innovations
http://www.csihq.com/~mike  My home page
FAX 321-676-2355


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.4.16 Compiler warning
  2001-11-28 10:48 Mike Black
@ 2001-11-28 15:19 ` Kai Germaschewski
  0 siblings, 0 replies; 4+ messages in thread
From: Kai Germaschewski @ 2001-11-28 15:19 UTC (permalink / raw)
  To: Mike Black; +Cc: linux-kernel, Linus Torvalds


On Wed, 28 Nov 2001, Mike Black wrote:

> This appears to be a non-fatal warning....does this need to be cleaned up?
> [...]
> {standard input}: Assembler messages:
> {standard input}:1107: Warning: indirect lcall without `*'
> {standard input}:1192: Warning: indirect lcall without `*'
> [...]

I believe this cannot be cleaned up in 2.4 because it breaks older 
binutils. However, what about the appended patch for 2.5?

diff -X excl -urN linux-2.5.1-pre2.patches/arch/i386/boot/setup.S linux-2.5.1-pre2.work/arch/i386/boot/setup.S
--- linux-2.5.1-pre2.patches/arch/i386/boot/setup.S	Fri Nov  9 22:58:02 2001
+++ linux-2.5.1-pre2.work/arch/i386/boot/setup.S	Wed Nov 28 15:09:44 2001
@@ -539,7 +539,7 @@
 	cmpw	$0, %cs:realmode_swtch
 	jz	rmodeswtch_normal
 
-	lcall	%cs:realmode_swtch
+	lcall	*%cs:realmode_swtch
 
 	jmp	rmodeswtch_end
 
diff -X excl -urN linux-2.5.1-pre2.patches/arch/i386/kernel/apm.c linux-2.5.1-pre2.work/arch/i386/kernel/apm.c
--- linux-2.5.1-pre2.patches/arch/i386/kernel/apm.c	Fri Nov  9 22:58:02 2001
+++ linux-2.5.1-pre2.work/arch/i386/kernel/apm.c	Wed Nov 28 15:04:20 2001
@@ -526,7 +526,7 @@
 	__asm__ __volatile__(APM_DO_ZERO_SEGS
 		"pushl %%edi\n\t"
 		"pushl %%ebp\n\t"
-		"lcall %%cs:" SYMBOL_NAME_STR(apm_bios_entry) "\n\t"
+		"lcall *%%cs:" SYMBOL_NAME_STR(apm_bios_entry) "\n\t"
 		"setc %%al\n\t"
 		"popl %%ebp\n\t"
 		"popl %%edi\n\t"
@@ -573,7 +573,7 @@
 		__asm__ __volatile__(APM_DO_ZERO_SEGS
 			"pushl %%edi\n\t"
 			"pushl %%ebp\n\t"
-			"lcall %%cs:" SYMBOL_NAME_STR(apm_bios_entry) "\n\t"
+			"lcall *%%cs:" SYMBOL_NAME_STR(apm_bios_entry) "\n\t"
 			"setc %%bl\n\t"
 			"popl %%ebp\n\t"
 			"popl %%edi\n\t"
diff -X excl -urN linux-2.5.1-pre2.patches/arch/i386/kernel/pci-pc.c linux-2.5.1-pre2.work/arch/i386/kernel/pci-pc.c
--- linux-2.5.1-pre2.patches/arch/i386/kernel/pci-pc.c	Fri Nov  9 22:58:02 2001
+++ linux-2.5.1-pre2.work/arch/i386/kernel/pci-pc.c	Wed Nov 28 15:04:47 2001
@@ -458,7 +458,7 @@
 	unsigned long flags;
 
 	__save_flags(flags); __cli();
-	__asm__("lcall (%%edi); cld"
+	__asm__("lcall *(%%edi); cld"
 		: "=a" (return_code),
 		  "=b" (address),
 		  "=c" (length),
@@ -499,7 +499,7 @@
 
 		__save_flags(flags); __cli();
 		__asm__(
-			"lcall (%%edi); cld\n\t"
+			"lcall *(%%edi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -544,7 +544,7 @@
 	unsigned short bx;
 	unsigned short ret;
 
-	__asm__("lcall (%%edi); cld\n\t"
+	__asm__("lcall *(%%edi); cld\n\t"
 		"jc 1f\n\t"
 		"xor %%ah, %%ah\n"
 		"1:"
@@ -573,7 +573,7 @@
 
 	switch (len) {
 	case 1:
-		__asm__("lcall (%%esi); cld\n\t"
+		__asm__("lcall *(%%esi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -585,7 +585,7 @@
 			  "S" (&pci_indirect));
 		break;
 	case 2:
-		__asm__("lcall (%%esi); cld\n\t"
+		__asm__("lcall *(%%esi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -597,7 +597,7 @@
 			  "S" (&pci_indirect));
 		break;
 	case 4:
-		__asm__("lcall (%%esi); cld\n\t"
+		__asm__("lcall *(%%esi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -628,7 +628,7 @@
 
 	switch (len) {
 	case 1:
-		__asm__("lcall (%%esi); cld\n\t"
+		__asm__("lcall *(%%esi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -640,7 +640,7 @@
 			  "S" (&pci_indirect));
 		break;
 	case 2:
-		__asm__("lcall (%%esi); cld\n\t"
+		__asm__("lcall *(%%esi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -652,7 +652,7 @@
 			  "S" (&pci_indirect));
 		break;
 	case 4:
-		__asm__("lcall (%%esi); cld\n\t"
+		__asm__("lcall *(%%esi); cld\n\t"
 			"jc 1f\n\t"
 			"xor %%ah, %%ah\n"
 			"1:"
@@ -875,7 +875,7 @@
 	__asm__("push %%es\n\t"
 		"push %%ds\n\t"
 		"pop  %%es\n\t"
-		"lcall (%%esi); cld\n\t"
+		"lcall *(%%esi); cld\n\t"
 		"pop %%es\n\t"
 		"jc 1f\n\t"
 		"xor %%ah, %%ah\n"
@@ -908,7 +908,7 @@
 {
 	int ret;
 
-	__asm__("lcall (%%esi); cld\n\t"
+	__asm__("lcall *(%%esi); cld\n\t"
 		"jc 1f\n\t"
 		"xor %%ah, %%ah\n"
 		"1:"


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.4.16 Compiler warning
@ 2001-11-28 21:58 Mikael Pettersson
  2001-11-28 22:14 ` [MOc]cda*mirabilos
  0 siblings, 1 reply; 4+ messages in thread
From: Mikael Pettersson @ 2001-11-28 21:58 UTC (permalink / raw)
  To: torvalds; +Cc: kai, linux-kernel, mblack

On Wed, 28 Nov 2001 16:19:35 +0100 (CET), Kai Germaschewski wrote:
>On Wed, 28 Nov 2001, Mike Black wrote:
>
>> This appears to be a non-fatal warning....does this need to be cleaned up?
>> [...]
>> {standard input}: Assembler messages:
>> {standard input}:1107: Warning: indirect lcall without `*'
>> {standard input}:1192: Warning: indirect lcall without `*'
>> [...]
>
>I believe this cannot be cleaned up in 2.4 because it breaks older 
>binutils. However, what about the appended patch for 2.5?

Kai's patch is almost identical to what I've been applying to every 2.3/2.4
kernel for the last year, ever since RedHat included a newer binutils
which printed these "indirect lcall without `*'" warnings.
My patch kit also fixes an occurrence in bootsect.S -- see below.

This really ought to go into 2.5 ASAP, IMHO.

/Mikael

--- linux-2.4.17-pre1/arch/i386/boot/bootsect.S.~1~	Fri Nov 23 22:40:14 2001
+++ linux-2.4.17-pre1/arch/i386/boot/bootsect.S	Wed Nov 28 20:33:06 2001
@@ -236,7 +236,7 @@
 rp_read:
 #ifdef __BIG_KERNEL__			# look in setup.S for bootsect_kludge
 	bootsect_kludge = 0x220		# 0x200 + 0x20 which is the size of the
-	lcall	bootsect_kludge		# bootsector + bootsect_kludge offset
+	lcall	*bootsect_kludge	# bootsector + bootsect_kludge offset
 #else
 	movw	%es, %ax
 	subw	$SYSSEG, %ax

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.4.16 Compiler warning
  2001-11-28 21:58 2.4.16 Compiler warning Mikael Pettersson
@ 2001-11-28 22:14 ` [MOc]cda*mirabilos
  0 siblings, 0 replies; 4+ messages in thread
From: [MOc]cda*mirabilos @ 2001-11-28 22:14 UTC (permalink / raw)
  To: linux-kernel

> >> This appears to be a non-fatal warning....does this need to be
cleaned up?
> >> [...]
> >> {standard input}: Assembler messages:
> >> {standard input}:1107: Warning: indirect lcall without `*'
> >> {standard input}:1192: Warning: indirect lcall without `*'

IIRC I've had them since 2.0.33 I started dealing with Linux...


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-11-28 22:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-11-28 21:58 2.4.16 Compiler warning Mikael Pettersson
2001-11-28 22:14 ` [MOc]cda*mirabilos
  -- strict thread matches above, loose matches on Subject: below --
2001-11-28 10:48 Mike Black
2001-11-28 15:19 ` Kai Germaschewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox