도와주세요!!
글 수 15,339
2005.07.15 16:07:16 (*.123.216.218)
6711
gcc-3.3으로 컴파일시 다음과 같은에러가나서
"asm-specifier for variable `__r1'"
커널에서 다음문서를 보고수정하였읍니다.
--- linux/arch/arm/lib/getuser.S.orig Mon Nov 17 07:41:51 2003
+++ linux/arch/arm/lib/getuser.S Mon Nov 17 07:43:16 2003
@@ -17,7 +17,7 @@
*
* Inputs: r0 contains the address
* Outputs: r0 is the error code
- * r1, r2 contains the zero-extended value
+ * r1, ip contains the zero-extended value
* lr corrupted
*
* No other registers must be altered. (see include/asm-arm/uaccess.h
@@ -42,14 +42,14 @@ __get_user_1:
.global __get_user_2
__get_user_2:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #2
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #2
+ cmp r0, ip
2: ldrlsbt r1, [r0], #1
-3: ldrlsbt r2, [r0]
- orrls r1, r1, r2, lsl #8
+3: ldrlsbt ip, [r0]
+ orrls r1, r1, ip, lsl #8
movls r0, #0
movls pc, lr
b __get_user_bad
@@ -68,20 +68,20 @@ __get_user_4:
.global __get_user_8
__get_user_8:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #8
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #8
+ cmp r0, ip
5: ldrlst r1, [r0], #4
-6: ldrlst r2, [r0]
+6: ldrlst ip, [r0]
movls r0, #0
movls pc, lr
/* fall through */
__get_user_bad_8:
- mov r2, #0
+ mov ip, #0
__get_user_bad:
mov r1, #0
mov r0, #-14
--- linux/arch/arm/lib/putuser.S.orig Mon Nov 17 07:41:57 2003
+++ linux/arch/arm/lib/putuser.S Mon Nov 17 07:42:26 2003
@@ -16,7 +16,7 @@
* __put_user_X
*
* Inputs: r0 contains the address
- * r1, r2 contains the value
+ * r1, ip contains the value
* Outputs: r0 is the error code
* lr corrupted
*
@@ -30,11 +30,11 @@
.global __put_user_1
__put_user_1:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #1
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #1
+ cmp r0, ip
1: strlsbt r1, [r0]
movls r0, #0
movls pc, lr
@@ -42,11 +42,11 @@ __put_user_1:
.global __put_user_2
__put_user_2:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #2
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #2
+ cmp r0, ip
2: strlsbt r1, [r0], #1
movls r1, r1, lsr #8
3: strlsbt r1, [r0]
@@ -56,11 +56,11 @@ __put_user_2:
.global __put_user_4
__put_user_4:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #4
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #4
+ cmp r0, ip
4: strlst r1, [r0]
movls r0, #0
movls pc, lr
@@ -74,7 +74,7 @@ __put_user_8:
sub ip, ip, #8
cmp r0, ip
5: strlst r1, [r0], #4
-6: strlst r2, [r0]
+6: strlst ip, [r0]
movls r0, #0
movls pc, lr
--- linux/include/asm-arm/uaccess.h.orig Mon Nov 17 07:41:04 2003
+++ linux/include/asm-arm/uaccess.h Mon Nov 17 07:41:37 2003
@@ -86,7 +86,7 @@ extern int __get_user_bad(void);
__get_user_x(__r1, __p, __e, 1, "lr");
break;
case 2:
- __get_user_x(__r1, __p, __e, 2, "r2", "lr");
+ __get_user_x(__r1, __p, __e, 2, "ip", "lr");
break;
case 4:
__get_user_x(__r1, __p, __e, 4, "lr");
@@ -122,13 +122,13 @@ extern int __put_user_bad(void);
register int __e asm("r0");
switch (sizeof(*(p))) {
case 1:
- __put_user_x(__r1, __p, __e, 1, "r2", "lr");
+ __put_user_x(__r1, __p, __e, 1, "ip", "lr");
break;
case 2:
- __put_user_x(__r1, __p, __e, 2, "r2", "lr");
+ __put_user_x(__r1, __p, __e, 2, "ip", "lr");
break;
case 4:
- __put_user_x(__r1, __p, __e, 4, "r2", "lr");
+ __put_user_x(__r1, __p, __e, 4, "ip", "lr");
break;
case 8:
__put_user_x(__r1, __p, __e, 8, "ip", "lr");
===================
에러는 수정했지만.
다른 에러가 났읍니다.
cpu-pxa.c:156:30: missing terminating " character
cpu-pxa.c: In function `pxa_setspeed':
cpu-pxa.c:157: error: parse error before "ldr"
cpu-pxa.c:157: error: syntax error at '@' token
cpu-pxa.c:158:25: invalid suffix "f" on integer constant
cpu-pxa.c:161: error: syntax error at '@' token
cpu-pxa.c:163: error: syntax error at '@' token
cpu-pxa.c:164: error: syntax error at '#' token
cpu-pxa.c:164: error: syntax error at '@' token
cpu-pxa.c:165: error: syntax error at '@' token
cpu-pxa.c:166: error: syntax error at '@' token
cpu-pxa.c:168: error: syntax error at '@' token
cpu-pxa.c:179:25: invalid suffix "f" on integer constant
cpu-pxa.c:180:25: invalid suffix "b" on integer constant
cpu-pxa.c:182:17: missing terminating " character
cpu-pxa.c:140: warning: unused variable `unused'
cpu-pxa.c:141: warning: unused variable `ramstart'
make[2]: *** [cpu-pxa.o] 오류 1
make[2]: 나감 `/home2/pds/linux-2.4.19-x5-v07/arch/arm/mach-pxa' 디렉토리
make[1]: *** [first_rule] 오류 2
make[1]: 나감 `/home2/pds/linux-2.4.19-x5-v07/arch/arm/mach-pxa' 디렉토리
make: *** [_dir_arch/arm/mach-pxa] 오류 2
==================================================
커널버전은 2.4.19-x5-v07이면 gcc3.3으로 컴파일시 다른 패치 는 없는지요?
자세한 설명부탁드립니다
"asm-specifier for variable `__r1'"
커널에서 다음문서를 보고수정하였읍니다.
--- linux/arch/arm/lib/getuser.S.orig Mon Nov 17 07:41:51 2003
+++ linux/arch/arm/lib/getuser.S Mon Nov 17 07:43:16 2003
@@ -17,7 +17,7 @@
*
* Inputs: r0 contains the address
* Outputs: r0 is the error code
- * r1, r2 contains the zero-extended value
+ * r1, ip contains the zero-extended value
* lr corrupted
*
* No other registers must be altered. (see include/asm-arm/uaccess.h
@@ -42,14 +42,14 @@ __get_user_1:
.global __get_user_2
__get_user_2:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #2
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #2
+ cmp r0, ip
2: ldrlsbt r1, [r0], #1
-3: ldrlsbt r2, [r0]
- orrls r1, r1, r2, lsl #8
+3: ldrlsbt ip, [r0]
+ orrls r1, r1, ip, lsl #8
movls r0, #0
movls pc, lr
b __get_user_bad
@@ -68,20 +68,20 @@ __get_user_4:
.global __get_user_8
__get_user_8:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #8
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #8
+ cmp r0, ip
5: ldrlst r1, [r0], #4
-6: ldrlst r2, [r0]
+6: ldrlst ip, [r0]
movls r0, #0
movls pc, lr
/* fall through */
__get_user_bad_8:
- mov r2, #0
+ mov ip, #0
__get_user_bad:
mov r1, #0
mov r0, #-14
--- linux/arch/arm/lib/putuser.S.orig Mon Nov 17 07:41:57 2003
+++ linux/arch/arm/lib/putuser.S Mon Nov 17 07:42:26 2003
@@ -16,7 +16,7 @@
* __put_user_X
*
* Inputs: r0 contains the address
- * r1, r2 contains the value
+ * r1, ip contains the value
* Outputs: r0 is the error code
* lr corrupted
*
@@ -30,11 +30,11 @@
.global __put_user_1
__put_user_1:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #1
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #1
+ cmp r0, ip
1: strlsbt r1, [r0]
movls r0, #0
movls pc, lr
@@ -42,11 +42,11 @@ __put_user_1:
.global __put_user_2
__put_user_2:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #2
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #2
+ cmp r0, ip
2: strlsbt r1, [r0], #1
movls r1, r1, lsr #8
3: strlsbt r1, [r0]
@@ -56,11 +56,11 @@ __put_user_2:
.global __put_user_4
__put_user_4:
- bic r2, sp, #0x1f00
- bic r2, r2, #0x00ff
- ldr r2, [r2, #TSK_ADDR_LIMIT]
- sub r2, r2, #4
- cmp r0, r2
+ bic ip, sp, #0x1f00
+ bic ip, ip, #0x00ff
+ ldr ip, [ip, #TSK_ADDR_LIMIT]
+ sub ip, ip, #4
+ cmp r0, ip
4: strlst r1, [r0]
movls r0, #0
movls pc, lr
@@ -74,7 +74,7 @@ __put_user_8:
sub ip, ip, #8
cmp r0, ip
5: strlst r1, [r0], #4
-6: strlst r2, [r0]
+6: strlst ip, [r0]
movls r0, #0
movls pc, lr
--- linux/include/asm-arm/uaccess.h.orig Mon Nov 17 07:41:04 2003
+++ linux/include/asm-arm/uaccess.h Mon Nov 17 07:41:37 2003
@@ -86,7 +86,7 @@ extern int __get_user_bad(void);
__get_user_x(__r1, __p, __e, 1, "lr");
break;
case 2:
- __get_user_x(__r1, __p, __e, 2, "r2", "lr");
+ __get_user_x(__r1, __p, __e, 2, "ip", "lr");
break;
case 4:
__get_user_x(__r1, __p, __e, 4, "lr");
@@ -122,13 +122,13 @@ extern int __put_user_bad(void);
register int __e asm("r0");
switch (sizeof(*(p))) {
case 1:
- __put_user_x(__r1, __p, __e, 1, "r2", "lr");
+ __put_user_x(__r1, __p, __e, 1, "ip", "lr");
break;
case 2:
- __put_user_x(__r1, __p, __e, 2, "r2", "lr");
+ __put_user_x(__r1, __p, __e, 2, "ip", "lr");
break;
case 4:
- __put_user_x(__r1, __p, __e, 4, "r2", "lr");
+ __put_user_x(__r1, __p, __e, 4, "ip", "lr");
break;
case 8:
__put_user_x(__r1, __p, __e, 8, "ip", "lr");
===================
에러는 수정했지만.
다른 에러가 났읍니다.
cpu-pxa.c:156:30: missing terminating " character
cpu-pxa.c: In function `pxa_setspeed':
cpu-pxa.c:157: error: parse error before "ldr"
cpu-pxa.c:157: error: syntax error at '@' token
cpu-pxa.c:158:25: invalid suffix "f" on integer constant
cpu-pxa.c:161: error: syntax error at '@' token
cpu-pxa.c:163: error: syntax error at '@' token
cpu-pxa.c:164: error: syntax error at '#' token
cpu-pxa.c:164: error: syntax error at '@' token
cpu-pxa.c:165: error: syntax error at '@' token
cpu-pxa.c:166: error: syntax error at '@' token
cpu-pxa.c:168: error: syntax error at '@' token
cpu-pxa.c:179:25: invalid suffix "f" on integer constant
cpu-pxa.c:180:25: invalid suffix "b" on integer constant
cpu-pxa.c:182:17: missing terminating " character
cpu-pxa.c:140: warning: unused variable `unused'
cpu-pxa.c:141: warning: unused variable `ramstart'
make[2]: *** [cpu-pxa.o] 오류 1
make[2]: 나감 `/home2/pds/linux-2.4.19-x5-v07/arch/arm/mach-pxa' 디렉토리
make[1]: *** [first_rule] 오류 2
make[1]: 나감 `/home2/pds/linux-2.4.19-x5-v07/arch/arm/mach-pxa' 디렉토리
make: *** [_dir_arch/arm/mach-pxa] 오류 2
==================================================
커널버전은 2.4.19-x5-v07이면 gcc3.3으로 컴파일시 다른 패치 는 없는지요?
자세한 설명부탁드립니다