All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. J. Lu" <hjl@lucon.org>
To: linux-ia64@vger.kernel.org
Subject: PATCH: gcc 3.3 support and quota workaround
Date: Wed, 23 Jul 2003 16:56:34 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105897942901816@msgid-missing> (raw)

[-- Attachment #1: Type: text/plain, Size: 468 bytes --]

I am using gcc 3.3 to build the ia64 2.4 kernel from

http://lia64.bkbits.net/linux-ia64-2.4

Gcc 3.3 doesn't like multi-line asm statement. I am enclosing a patch
here.

Also the kernel won't compile with

CONFIG_QUOTA=y

in .config since INIT_QUOTA_MODULE_NAMES is not defined anywhere. I
looked at fs/dquot.c. There are some codes which weren't in 2.4.22-pre6
nor 2.4.22-pre7. Where did they come from? I use the patch enclosed to
get the kernel to compile.


H.J.

[-- Attachment #2: gcc-3.3.patch --]
[-- Type: text/plain, Size: 9283 bytes --]

--- linux/include/asm-ia64/xor.h.gcc-3.3	Tue Jun 24 09:11:27 2003
+++ linux/include/asm-ia64/xor.h	Tue Jun 24 10:28:20 2003
@@ -23,255 +23,255 @@ extern void xor_ia64_4(unsigned long, un
 extern void xor_ia64_5(unsigned long, unsigned long *, unsigned long *,
 		       unsigned long *, unsigned long *, unsigned long *);
 
-asm ("
-	.text
-
-	// Assume L2 memory latency of 6 cycles.
-
-	.proc xor_ia64_2
-xor_ia64_2:
-	.prologue
-	.fframe 0
-	{ .mii
-	  .save ar.pfs, r31
-	  alloc r31 = ar.pfs, 3, 0, 13, 16
-	  .save ar.lc, r30
-	  mov r30 = ar.lc
-	  .save pr, r29
-	  mov r29 = pr
-	  ;;
-	}
-	.body
-	{ .mii
-	  mov r8 = in1
-	  mov ar.ec = 6 + 2
-	  shr in0 = in0, 3
-	  ;;
-	}
-	{ .mmi
-	  adds in0 = -1, in0
-	  mov r16 = in1
-	  mov r17 = in2
-	  ;;
-	}
-	{ .mii
-	  mov ar.lc = in0
-	  mov pr.rot = 1 << 16
-	  ;;
-	}
-	.rotr s1[6+1], s2[6+1], d[2]
-	.rotp p[6+2]
-0:	 { .mmi
-(p[0])	  ld8.nta s1[0] = [r16], 8
-(p[0])	  ld8.nta s2[0] = [r17], 8
-(p[6])	  xor d[0] = s1[6], s2[6]
-	}
-	{ .mfb
-(p[6+1])  st8.nta [r8] = d[1], 8
-	  nop.f 0
-	  br.ctop.dptk.few 0b
-	  ;;
-	}
-	{ .mii
-	  mov ar.lc = r30
-	  mov pr = r29, -1
-	}
-	{ .bbb
-	  br.ret.sptk.few rp
-	}
-	.endp xor_ia64_2
-
-	.proc xor_ia64_3
-xor_ia64_3:
-	.prologue
-	.fframe 0
-	{ .mii
-	  .save ar.pfs, r31
-	  alloc r31 = ar.pfs, 4, 0, 20, 24
-	  .save ar.lc, r30
-	  mov r30 = ar.lc
-	  .save pr, r29
-	  mov r29 = pr
-	  ;;
-	}
-	.body
-	{ .mii
-	  mov r8 = in1
-	  mov ar.ec = 6 + 2
-	  shr in0 = in0, 3
-	  ;;
-	}
-	{ .mmi
-	  adds in0 = -1, in0
-	  mov r16 = in1
-	  mov r17 = in2
-	  ;;
-	}
-	{ .mii
-	  mov r18 = in3
-	  mov ar.lc = in0
-	  mov pr.rot = 1 << 16
-	  ;;
-	}
-	.rotr s1[6+1], s2[6+1], s3[6+1], d[2]
-	.rotp p[6+2]
-0:	{ .mmi
-(p[0])	  ld8.nta s1[0] = [r16], 8
-(p[0])	  ld8.nta s2[0] = [r17], 8
-(p[6])	  xor d[0] = s1[6], s2[6]
-	  ;;
-	}
-	{ .mmi
-(p[0])	  ld8.nta s3[0] = [r18], 8
-(p[6+1])  st8.nta [r8] = d[1], 8
-(p[6])	  xor d[0] = d[0], s3[6]
-	}
-	{ .bbb
-	  br.ctop.dptk.few 0b
-	  ;;
-	}
-	{ .mii
-	  mov ar.lc = r30
-	  mov pr = r29, -1
-	}
-	{ .bbb
-	  br.ret.sptk.few rp
-	}
-	.endp xor_ia64_3
-
-	.proc xor_ia64_4
-xor_ia64_4:
-	.prologue
-	.fframe 0
-	{ .mii
-	  .save ar.pfs, r31
-	  alloc r31 = ar.pfs, 5, 0, 27, 32
-	  .save ar.lc, r30
-	  mov r30 = ar.lc
-	  .save pr, r29
-	  mov r29 = pr
-	  ;;
-	}
-	.body
-	{ .mii
-	  mov r8 = in1
-	  mov ar.ec = 6 + 2
-	  shr in0 = in0, 3
-	  ;;
-	}
-	{ .mmi
-	  adds in0 = -1, in0
-	  mov r16 = in1
-	  mov r17 = in2
-	  ;;
-	}
-	{ .mii
-	  mov r18 = in3
-	  mov ar.lc = in0
-	  mov pr.rot = 1 << 16
-	}
-	{ .mfb
-	  mov r19 = in4
-	  ;;
-	}
-	.rotr s1[6+1], s2[6+1], s3[6+1], s4[6+1], d[2]
-	.rotp p[6+2]
-0:	{ .mmi
-(p[0])	  ld8.nta s1[0] = [r16], 8
-(p[0])	  ld8.nta s2[0] = [r17], 8
-(p[6])	  xor d[0] = s1[6], s2[6]
-	}
-	{ .mmi
-(p[0])	  ld8.nta s3[0] = [r18], 8
-(p[0])	  ld8.nta s4[0] = [r19], 8
-(p[6])	  xor r20 = s3[6], s4[6]
-	  ;;
-	}
-	{ .mib
-(p[6+1])  st8.nta [r8] = d[1], 8
-(p[6])	  xor d[0] = d[0], r20
-	  br.ctop.dptk.few 0b
-	  ;;
-	}
-	{ .mii
-	  mov ar.lc = r30
-	  mov pr = r29, -1
-	}
-	{ .bbb
-	  br.ret.sptk.few rp
-	}
-	.endp xor_ia64_4
-
-	.proc xor_ia64_5
-xor_ia64_5:
-	.prologue
-	.fframe 0
-	{ .mii
-	  .save ar.pfs, r31
-	  alloc r31 = ar.pfs, 6, 0, 34, 40
-	  .save ar.lc, r30
-	  mov r30 = ar.lc
-	  .save pr, r29
-	  mov r29 = pr
-	  ;;
-	}
-	.body
-	{ .mii
-	  mov r8 = in1
-	  mov ar.ec = 6 + 2
-	  shr in0 = in0, 3
-	  ;;
-	}
-	{ .mmi
-	  adds in0 = -1, in0
-	  mov r16 = in1
-	  mov r17 = in2
-	  ;;
-	}
-	{ .mii
-	  mov r18 = in3
-	  mov ar.lc = in0
-	  mov pr.rot = 1 << 16
-	}
-	{ .mib
-	  mov r19 = in4
-	  mov r20 = in5
-	  ;;
-	}
-	.rotr s1[6+1], s2[6+1], s3[6+1], s4[6+1], s5[6+1], d[2]
-	.rotp p[6+2]
-0:	{ .mmi
-(p[0])	  ld8.nta s1[0] = [r16], 8
-(p[0])	  ld8.nta s2[0] = [r17], 8
-(p[6])	  xor d[0] = s1[6], s2[6]
-	}
-	{ .mmi
-(p[0])	  ld8.nta s3[0] = [r18], 8
-(p[0])	  ld8.nta s4[0] = [r19], 8
-(p[6])	  xor r21 = s3[6], s4[6]
-	  ;;
-	}
-	{ .mmi
-(p[0])	  ld8.nta s5[0] = [r20], 8
-(p[6+1])  st8.nta [r8] = d[1], 8
-(p[6])	  xor d[0] = d[0], r21
-	  ;;
-	}
-	{ .mfb
-(p[6])	  xor d[0] = d[0], s5[6]
-	  nop.f 0
-	  br.ctop.dptk.few 0b
-	  ;;
-	}
-	{ .mii
-	  mov ar.lc = r30
-	  mov pr = r29, -1
-	}
-	{ .bbb
-	  br.ret.sptk.few rp
-	}
-	.endp xor_ia64_5
-");
+asm (
+"	.text\n"
+"\n"
+"	// Assume L2 memory latency of 6 cycles.\n"
+"\n"
+"	.proc xor_ia64_2\n"
+"xor_ia64_2:\n"
+"	.prologue\n"
+"	.fframe 0\n"
+"	{ .mii\n"
+"	  .save ar.pfs, r31\n"
+"	  alloc r31 = ar.pfs, 3, 0, 13, 16\n"
+"	  .save ar.lc, r30\n"
+"	  mov r30 = ar.lc\n"
+"	  .save pr, r29\n"
+"	  mov r29 = pr\n"
+"	  ;;\n"
+"	}\n"
+"	.body\n"
+"	{ .mii\n"
+"	  mov r8 = in1\n"
+"	  mov ar.ec = 6 + 2\n"
+"	  shr in0 = in0, 3\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mmi\n"
+"	  adds in0 = -1, in0\n"
+"	  mov r16 = in1\n"
+"	  mov r17 = in2\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov ar.lc = in0\n"
+"	  mov pr.rot = 1 << 16\n"
+"	  ;;\n"
+"	}\n"
+"	.rotr s1[6+1], s2[6+1], d[2]\n"
+"	.rotp p[6+2]\n"
+"0:	 { .mmi\n"
+"(p[0])	  ld8.nta s1[0] = [r16], 8\n"
+"(p[0])	  ld8.nta s2[0] = [r17], 8\n"
+"(p[6])	  xor d[0] = s1[6], s2[6]\n"
+"	}\n"
+"	{ .mfb\n"
+"(p[6+1])  st8.nta [r8] = d[1], 8\n"
+"	  nop.f 0\n"
+"	  br.ctop.dptk.few 0b\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov ar.lc = r30\n"
+"	  mov pr = r29, -1\n"
+"	}\n"
+"	{ .bbb\n"
+"	  br.ret.sptk.few rp\n"
+"	}\n"
+"	.endp xor_ia64_2\n"
+"\n"
+"	.proc xor_ia64_3\n"
+"xor_ia64_3:\n"
+"	.prologue\n"
+"	.fframe 0\n"
+"	{ .mii\n"
+"	  .save ar.pfs, r31\n"
+"	  alloc r31 = ar.pfs, 4, 0, 20, 24\n"
+"	  .save ar.lc, r30\n"
+"	  mov r30 = ar.lc\n"
+"	  .save pr, r29\n"
+"	  mov r29 = pr\n"
+"	  ;;\n"
+"	}\n"
+"	.body\n"
+"	{ .mii\n"
+"	  mov r8 = in1\n"
+"	  mov ar.ec = 6 + 2\n"
+"	  shr in0 = in0, 3\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mmi\n"
+"	  adds in0 = -1, in0\n"
+"	  mov r16 = in1\n"
+"	  mov r17 = in2\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov r18 = in3\n"
+"	  mov ar.lc = in0\n"
+"	  mov pr.rot = 1 << 16\n"
+"	  ;;\n"
+"	}\n"
+"	.rotr s1[6+1], s2[6+1], s3[6+1], d[2]\n"
+"	.rotp p[6+2]\n"
+"0:	{ .mmi\n"
+"(p[0])	  ld8.nta s1[0] = [r16], 8\n"
+"(p[0])	  ld8.nta s2[0] = [r17], 8\n"
+"(p[6])	  xor d[0] = s1[6], s2[6]\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mmi\n"
+"(p[0])	  ld8.nta s3[0] = [r18], 8\n"
+"(p[6+1])  st8.nta [r8] = d[1], 8\n"
+"(p[6])	  xor d[0] = d[0], s3[6]\n"
+"	}\n"
+"	{ .bbb\n"
+"	  br.ctop.dptk.few 0b\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov ar.lc = r30\n"
+"	  mov pr = r29, -1\n"
+"	}\n"
+"	{ .bbb\n"
+"	  br.ret.sptk.few rp\n"
+"	}\n"
+"	.endp xor_ia64_3\n"
+"\n"
+"	.proc xor_ia64_4\n"
+"xor_ia64_4:\n"
+"	.prologue\n"
+"	.fframe 0\n"
+"	{ .mii\n"
+"	  .save ar.pfs, r31\n"
+"	  alloc r31 = ar.pfs, 5, 0, 27, 32\n"
+"	  .save ar.lc, r30\n"
+"	  mov r30 = ar.lc\n"
+"	  .save pr, r29\n"
+"	  mov r29 = pr\n"
+"	  ;;\n"
+"	}\n"
+"	.body\n"
+"	{ .mii\n"
+"	  mov r8 = in1\n"
+"	  mov ar.ec = 6 + 2\n"
+"	  shr in0 = in0, 3\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mmi\n"
+"	  adds in0 = -1, in0\n"
+"	  mov r16 = in1\n"
+"	  mov r17 = in2\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov r18 = in3\n"
+"	  mov ar.lc = in0\n"
+"	  mov pr.rot = 1 << 16\n"
+"	}\n"
+"	{ .mfb\n"
+"	  mov r19 = in4\n"
+"	  ;;\n"
+"	}\n"
+"	.rotr s1[6+1], s2[6+1], s3[6+1], s4[6+1], d[2]\n"
+"	.rotp p[6+2]\n"
+"0:	{ .mmi\n"
+"(p[0])	  ld8.nta s1[0] = [r16], 8\n"
+"(p[0])	  ld8.nta s2[0] = [r17], 8\n"
+"(p[6])	  xor d[0] = s1[6], s2[6]\n"
+"	}\n"
+"	{ .mmi\n"
+"(p[0])	  ld8.nta s3[0] = [r18], 8\n"
+"(p[0])	  ld8.nta s4[0] = [r19], 8\n"
+"(p[6])	  xor r20 = s3[6], s4[6]\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mib\n"
+"(p[6+1])  st8.nta [r8] = d[1], 8\n"
+"(p[6])	  xor d[0] = d[0], r20\n"
+"	  br.ctop.dptk.few 0b\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov ar.lc = r30\n"
+"	  mov pr = r29, -1\n"
+"	}\n"
+"	{ .bbb\n"
+"	  br.ret.sptk.few rp\n"
+"	}\n"
+"	.endp xor_ia64_4\n"
+"\n"
+"	.proc xor_ia64_5\n"
+"xor_ia64_5:\n"
+"	.prologue\n"
+"	.fframe 0\n"
+"	{ .mii\n"
+"	  .save ar.pfs, r31\n"
+"	  alloc r31 = ar.pfs, 6, 0, 34, 40\n"
+"	  .save ar.lc, r30\n"
+"	  mov r30 = ar.lc\n"
+"	  .save pr, r29\n"
+"	  mov r29 = pr\n"
+"	  ;;\n"
+"	}\n"
+"	.body\n"
+"	{ .mii\n"
+"	  mov r8 = in1\n"
+"	  mov ar.ec = 6 + 2\n"
+"	  shr in0 = in0, 3\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mmi\n"
+"	  adds in0 = -1, in0\n"
+"	  mov r16 = in1\n"
+"	  mov r17 = in2\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov r18 = in3\n"
+"	  mov ar.lc = in0\n"
+"	  mov pr.rot = 1 << 16\n"
+"	}\n"
+"	{ .mib\n"
+"	  mov r19 = in4\n"
+"	  mov r20 = in5\n"
+"	  ;;\n"
+"	}\n"
+"	.rotr s1[6+1], s2[6+1], s3[6+1], s4[6+1], s5[6+1], d[2]\n"
+"	.rotp p[6+2]\n"
+"0:	{ .mmi\n"
+"(p[0])	  ld8.nta s1[0] = [r16], 8\n"
+"(p[0])	  ld8.nta s2[0] = [r17], 8\n"
+"(p[6])	  xor d[0] = s1[6], s2[6]\n"
+"	}\n"
+"	{ .mmi\n"
+"(p[0])	  ld8.nta s3[0] = [r18], 8\n"
+"(p[0])	  ld8.nta s4[0] = [r19], 8\n"
+"(p[6])	  xor r21 = s3[6], s4[6]\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mmi\n"
+"(p[0])	  ld8.nta s5[0] = [r20], 8\n"
+"(p[6+1])  st8.nta [r8] = d[1], 8\n"
+"(p[6])	  xor d[0] = d[0], r21\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mfb\n"
+"(p[6])	  xor d[0] = d[0], s5[6]\n"
+"	  nop.f 0\n"
+"	  br.ctop.dptk.few 0b\n"
+"	  ;;\n"
+"	}\n"
+"	{ .mii\n"
+"	  mov ar.lc = r30\n"
+"	  mov pr = r29, -1\n"
+"	}\n"
+"	{ .bbb\n"
+"	  br.ret.sptk.few rp\n"
+"	}\n"
+"	.endp xor_ia64_5\n"
+);
 
 static struct xor_block_template xor_block_ia64 = {
 	name: "ia64",

[-- Attachment #3: quota.patch --]
[-- Type: text/plain, Size: 1000 bytes --]

--- linux/fs/dquot.c.quota	Mon Jul 21 21:17:25 2003
+++ linux/fs/dquot.c	Mon Jul 21 21:39:42 2003
@@ -68,13 +68,17 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/proc_fs.h>
+#if 0
 #include <linux/kmod.h>
+#endif
 
 #include <asm/uaccess.h>
 
 static char *quotatypes[] = INITQFNAMES;
 static struct quota_format_type *quota_formats;	/* List of registered formats */
+#if 0
 static struct quota_module_name module_names[] = INIT_QUOTA_MODULE_NAMES;
+#endif
 
 int register_quota_format(struct quota_format_type *fmt)
 {
@@ -102,6 +106,7 @@ static struct quota_format_type *find_qu
 
 	lock_kernel();
 	for (actqf = quota_formats; actqf && actqf->qf_fmt_id != id; actqf = actqf->qf_next);
+#if 0
 	if (!actqf || !try_inc_mod_count(actqf->qf_owner)) {
 		int qm;
 
@@ -115,6 +120,10 @@ static struct quota_format_type *find_qu
 			actqf = NULL;
 	}
 out:
+#else
+	if (actqf && !try_inc_mod_count(actqf->qf_owner))
+		actqf = NULL;
+#endif
 	unlock_kernel();
 	return actqf;
 }

             reply	other threads:[~2003-07-23 16:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-23 16:56 H. J. Lu [this message]
2003-07-23 17:15 ` PATCH: gcc 3.3 support and quota workaround Christoph Hellwig
2003-08-05 22:43 ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-linux-ia64-105897942901816@msgid-missing \
    --to=hjl@lucon.org \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.