Perhaps you use partially patched sources, on pure ones they apply without problems.
Announcement
Collapse
No announcement yet.
fglrx kernel module compile failed
Collapse
X
-
reatch and script
Kano's patch is very Debian specific - it might run on Ubuntu or another dpkg based system, but not any rpm based system.
firegl_public.c changed between 8.9 and 8.10. that is why the patch doesn't apply cleanly.
I haven't tested this, but KDiff3 merged without complaint:
Code:--- 8.10/firegl_public.c 2008-10-14 09:25:30.000000000 -0600 +++ new/firegl_public.c 2008-11-04 21:41:39.000000000 -0700 @@ -200,6 +200,12 @@ #define preempt_enable() #endif +/* Since 2.6.27 smp_call_function doesn't have a nonatomic/retry argument */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) +#define SMP_CALL_FUNCTION(func, info, retry, wait) smp_call_function(func, info, wait) +#else +#define SMP_CALL_FUNCTION(func, info, retry, wait) smp_call_function(func, info, retry, wait) +#endif // ============================================================ /* globals */ @@ -251,7 +257,7 @@ const char BUILD_KERNEL_HAS_MODVERSIONS_CLEARED; #endif -#ifdef __SMP__ +#ifdef CONFIG_SMP const unsigned long __ke_SMP_State = 1; const char BUILD_KERNEL_HAS_SMP_SET; #else @@ -2348,8 +2354,8 @@ { /*Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel. Define a simple version here.*/ -#if defined(__x86_64__) && defined(__SMP__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) - on_each_cpu(KCL_flush_tlb_one, &va, 1, 1); +#if defined(__x86_64__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) + on_each_cpu(KCL_flush_tlb_one, &va, 1); #else flush_tlb_page(vma, va); #endif @@ -2766,7 +2772,7 @@ /*****************************************************************************/ -#ifdef __SMP__ +#ifdef CONFIG_SMP static atomic_t cpus_waiting; static void deferred_flush(void* contextp) @@ -2782,13 +2788,13 @@ while (atomic_read(&cpus_waiting) > 0) barrier(); } -#endif /* __SMP__ */ +#endif /* CONFIG_SMP */ int ATI_API_CALL __ke_flush_cache(void) { -#ifdef __SMP__ +#ifdef CONFIG_SMP /* write back invalidate all other CPUs (exported by kernel) */ - if (smp_call_function(deferred_flush, NULL, 1, 0) != 0) + if (SMP_CALL_FUNCTION(deferred_flush, NULL, 1, 0) != 0) panic("timed out waiting for the other CPUs!\n"); /* invalidate this CPU */ @@ -2802,7 +2808,7 @@ while (atomic_read(&cpus_waiting) > 0) barrier(); -#else /* !__SMP__ */ +#else /* !CONFIG_SMP */ #if defined(__i386__) || defined(__x86_64__) asm volatile ("wbinvd":::"memory"); #elif defined(__alpha__) || defined(__sparc__) @@ -2810,7 +2816,7 @@ #else #error "Please define flush_cache for your architecture." #endif -#endif /* !__SMP__ */ +#endif /* !CONFIG_SMP */ //for kernel 2.6.25, tlb_flush has been included when calling set_pages_*. #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) @@ -4060,7 +4066,7 @@ } #ifdef CONFIG_SMP - if (smp_call_function(KCL_setup_pat, NULL, 0, 1) != 0) + if (SMP_CALL_FUNCTION(KCL_setup_pat, NULL, 0, 1) != 0) return 0; #endif KCL_setup_pat(NULL); @@ -4079,7 +4085,7 @@ } #ifdef CONFIG_SMP - if (smp_call_function(KCL_restore_pat, NULL, 0, 1) != 0) + if (SMP_CALL_FUNCTION(KCL_restore_pat, NULL, 0, 1) != 0) return; #endif KCL_restore_pat(NULL);
Comment
-
It failed again:
deltatux@penguin1:/usr/src/kernel-modules/fglrx> sudo patch < firegl_public.patch
patching file firegl_public.c
Hunk #1 succeeded at 207 with fuzz 1 (offset 7 lines).
Hunk #2 FAILED at 264.
Hunk #3 FAILED at 2361.
Hunk #4 FAILED at 2779.
Hunk #5 FAILED at 2795.
Hunk #6 succeeded at 2815 (offset 7 lines).
Hunk #7 succeeded at 2823 (offset 7 lines).
Hunk #8 succeeded at 4073 (offset 7 lines).
Thanks,
deltatux
Comment
-
Originally posted by spikethehobbitmage View PostI'll post it when I get home from work.
Just in case, please make sure you are patching an unmodified source tree. If Kano's patch partially applied, mine won't work anymore, so you would need to unpack again.
deltatux
Comment
-
It seems phoronix corrupts patches when you post them.
md5sum
f9c15acbf28f780a15930b400cb07cc1 firegl_public.c (original)
aa259a13effc4b0a941f707818b8474a firegl_public.patch
4d464c2b6faccb57e0a4ac094b1e006e firegl_public.c (patched)
pipe this message into uudecode to extract
begin-base64 444 firegl_public.patch
LS0tIDguMTAvZmlyZWdsX3B1YmxpYy5jCTIwMDgtMTAtMTQgMD k6MjU6MzAu
MDAwMDAwMDAwIC0wNjAwCisrKyBuZXcvZmlyZWdsX3B1YmxpYy 5jCTIwMDgt
MTEtMDQgMjE6NDE6MzkuMDAwMDAwMDAwIC0wNzAwCkBAIC0yMD AsNiArMjAw
LDEyIEBACiAjZGVmaW5lIHByZWVtcHRfZW5hYmxlKCkKICNlbm RpZgogCisv
KiBTaW5jZSAyLjYuMjcgc21wX2NhbGxfZnVuY3Rpb24gZG9lc2 4ndCBoYXZl
IGEgbm9uYXRvbWljL3JldHJ5IGFyZ3VtZW50ICovCisjaWYgTE lOVVhfVkVS
U0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwyNykKKy NkZWZpbmUg
U01QX0NBTExfRlVOQ1RJT04oZnVuYywgaW5mbywgcmV0cnksIH dhaXQpIHNt
cF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIHdhaXQpCisjZW xzZQorI2Rl
ZmluZSBTTVBfQ0FMTF9GVU5DVElPTihmdW5jLCBpbmZvLCByZX RyeSwgd2Fp
dCkgc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgcmV0cn ksIHdhaXQp
CisjZW5kaWYKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT 09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLyogZ2xvYm FscyAqLwog
CkBAIC0yNTEsNyArMjU3LDcgQEAKIGNvbnN0IGNoYXIgQlVJTE RfS0VSTkVM
X0hBU19NT0RWRVJTSU9OU19DTEVBUkVEOwogI2VuZGlmCiAKLS NpZmRlZiBf
X1NNUF9fCisjaWZkZWYgQ09ORklHX1NNUAogY29uc3QgdW5zaW duZWQgbG9u
ZyBfX2tlX1NNUF9TdGF0ZSA9IDE7CiBjb25zdCBjaGFyIEJVSU xEX0tFUk5F
TF9IQVNfU01QX1NFVDsKICNlbHNlCkBAIC0yMzQ4LDggKzIzNT QsOCBAQAog
ewogLypTb21lIGtlcm5lbCBkZXZlbG9wZXIgcmVtb3ZlZCB0aG UgZXhwb3J0
IG9mIHN5bWJvbCAiZmx1c2hfdGxiX3BhZ2UiIG9uIDIuNi4yNS B4ODZfNjQg
U01QIGtlcm5lbC4KICAgRGVmaW5lIGEgc2ltcGxlIHZlcnNpb2 4gaGVyZS4q
LwotI2lmIGRlZmluZWQoX194ODZfNjRfXykgJiYgZGVmaW5lZC hfX1NNUF9f
KSAmJiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRV JTSU9OKDIs
NiwyNSkpIAotICAgIG9uX2VhY2hfY3B1KEtDTF9mbHVzaF90bG Jfb25lLCAm
dmEsIDEsIDEpOworI2lmIGRlZmluZWQoX194ODZfNjRfXykgJi YgKExJTlVY
X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMj UpKSAKKyAg
ICBvbl9lYWNoX2NwdShLQ0xfZmx1c2hfdGxiX29uZSwgJnZhLC AxKTsKICNl
bHNlCiAgICAgZmx1c2hfdGxiX3BhZ2Uodm1hLCB2YSk7CiAjZW 5kaWYKQEAg
LTI3NjYsNyArMjc3Miw3IEBACiAKIC8qKioqKioqKioqKioqKi oqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioq
KioqKioqKioqKi8KIAotI2lmZGVmIF9fU01QX18KKyNpZmRlZi BDT05GSUdf
U01QCiBzdGF0aWMgYXRvbWljX3QgY3B1c193YWl0aW5nOwogCi BzdGF0aWMg
dm9pZCBkZWZlcnJlZF9mbHVzaCh2b2lkKiBjb250ZXh0cCkKQE AgLTI3ODIs
MTMgKzI3ODgsMTMgQEAKIAl3aGlsZSAoYXRvbWljX3JlYWQoJm NwdXNfd2Fp
dGluZykgPiAwKQogCQliYXJyaWVyKCk7CiB9Ci0jZW5kaWYgLy ogX19TTVBf
XyAqLworI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAogaW50IE FUSV9BUElf
Q0FMTCBfX2tlX2ZsdXNoX2NhY2hlKHZvaWQpCiB7Ci0jaWZkZW YgX19TTVBf
XworI2lmZGVmIENPTkZJR19TTVAKICAgICAvKiB3cml0ZSBiYW NrIGludmFs
aWRhdGUgYWxsIG90aGVyIENQVXMgKGV4cG9ydGVkIGJ5IGtlcm 5lbCkgKi8K
LQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oZGVmZXJyZWRfZmx1c2 gsIE5VTEws
IDEsIDApICE9IDApCisJaWYgKFNNUF9DQUxMX0ZVTkNUSU9OKG RlZmVycmVk
X2ZsdXNoLCBOVUxMLCAxLCAwKSAhPSAwKQogCQlwYW5pYygidG ltZWQgb3V0
IHdhaXRpbmcgZm9yIHRoZSBvdGhlciBDUFVzIVxuIik7CiAKIC AgICAvKiBp
bnZhbGlkYXRlIHRoaXMgQ1BVICovCkBAIC0yODAyLDcgKzI4MD gsNyBAQAog
CiAJd2hpbGUgKGF0b21pY19yZWFkKCZjcHVzX3dhaXRpbmcpID 4gMCkKIAkJ
YmFycmllcigpOwotI2Vsc2UgLyogIV9fU01QX18gKi8KKyNlbH NlIC8qICFD
T05GSUdfU01QICovCiAjaWYgZGVmaW5lZChfX2kzODZfXykgfH wgZGVmaW5l
ZChfX3g4Nl82NF9fKQogCWFzbSB2b2xhdGlsZSAoIndiaW52ZC I6OjoibWVt
b3J5Iik7CiAjZWxpZiBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZG VmaW5lZChf
X3NwYXJjX18pCkBAIC0yODEwLDcgKzI4MTYsNyBAQAogI2Vsc2 UKICNlcnJv
ciAiUGxlYXNlIGRlZmluZSBmbHVzaF9jYWNoZSBmb3IgeW91ci BhcmNoaXRl
Y3R1cmUuIgogI2VuZGlmCi0jZW5kaWYgLyogIV9fU01QX18gKi 8KKyNlbmRp
ZiAvKiAhQ09ORklHX1NNUCAqLwogCiAgICAgLy9mb3Iga2Vybm VsIDIuNi4y
NSwgdGxiX2ZsdXNoIGhhcyBiZWVuIGluY2x1ZGVkIHdoZW4gY2 FsbGluZyBz
ZXRfcGFnZXNfKi4KICAgICAjaWYgTElOVVhfVkVSU0lPTl9DT0 RFIDwgS0VS
TkVMX1ZFUlNJT04oMiw2LDI1KQpAQCAtNDA2MCw3ICs0MDY2LD cgQEAKICAg
IH0KIAogI2lmZGVmIENPTkZJR19TTVAKLSAgIGlmIChzbXBfY2 FsbF9mdW5j
dGlvbihLQ0xfc2V0dXBfcGF0LCBOVUxMLCAwLCAxKSAhPSAwKQ orICAgaWYg
KFNNUF9DQUxMX0ZVTkNUSU9OKEtDTF9zZXR1cF9wYXQsIE5VTE wsIDAsIDEp
ICE9IDApCiAgICAgICAgcmV0dXJuIDA7CiAjZW5kaWYKICAgIE tDTF9zZXR1
cF9wYXQoTlVMTCk7CkBAIC00MDc5LDcgKzQwODUsNyBAQAogIC AgIH0KIAog
I2lmZGVmIENPTkZJR19TTVAKLSAgICBpZiAoc21wX2NhbGxfZn VuY3Rpb24o
S0NMX3Jlc3RvcmVfcGF0LCBOVUxMLCAwLCAxKSAhPSAwKQorIC AgIGlmIChT
TVBfQ0FMTF9GVU5DVElPTihLQ0xfcmVzdG9yZV9wYXQsIE5VTE wsIDAsIDEp
ICE9IDApCiAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAgICAgS0 NMX3Jlc3Rv
cmVfcGF0KE5VTEwpOwo=
====
Comment
-
Originally posted by spikethehobbitmage View PostIt seems phoronix corrupts patches when you post them.
md5sum
f9c15acbf28f780a15930b400cb07cc1 firegl_public.c (original)
aa259a13effc4b0a941f707818b8474a firegl_public.patch
4d464c2b6faccb57e0a4ac094b1e006e firegl_public.c (patched)
pipe this message into uudecode to extract
begin-base64 444 firegl_public.patch
LS0tIDguMTAvZmlyZWdsX3B1YmxpYy5jCTIwMDgtMTAtMTQgMD k6MjU6MzAu
MDAwMDAwMDAwIC0wNjAwCisrKyBuZXcvZmlyZWdsX3B1YmxpYy 5jCTIwMDgt
MTEtMDQgMjE6NDE6MzkuMDAwMDAwMDAwIC0wNzAwCkBAIC0yMD AsNiArMjAw
LDEyIEBACiAjZGVmaW5lIHByZWVtcHRfZW5hYmxlKCkKICNlbm RpZgogCisv
KiBTaW5jZSAyLjYuMjcgc21wX2NhbGxfZnVuY3Rpb24gZG9lc2 4ndCBoYXZl
IGEgbm9uYXRvbWljL3JldHJ5IGFyZ3VtZW50ICovCisjaWYgTE lOVVhfVkVS
U0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwyNykKKy NkZWZpbmUg
U01QX0NBTExfRlVOQ1RJT04oZnVuYywgaW5mbywgcmV0cnksIH dhaXQpIHNt
cF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIHdhaXQpCisjZW xzZQorI2Rl
ZmluZSBTTVBfQ0FMTF9GVU5DVElPTihmdW5jLCBpbmZvLCByZX RyeSwgd2Fp
dCkgc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgcmV0cn ksIHdhaXQp
CisjZW5kaWYKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT 09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLyogZ2xvYm FscyAqLwog
CkBAIC0yNTEsNyArMjU3LDcgQEAKIGNvbnN0IGNoYXIgQlVJTE RfS0VSTkVM
X0hBU19NT0RWRVJTSU9OU19DTEVBUkVEOwogI2VuZGlmCiAKLS NpZmRlZiBf
X1NNUF9fCisjaWZkZWYgQ09ORklHX1NNUAogY29uc3QgdW5zaW duZWQgbG9u
ZyBfX2tlX1NNUF9TdGF0ZSA9IDE7CiBjb25zdCBjaGFyIEJVSU xEX0tFUk5F
TF9IQVNfU01QX1NFVDsKICNlbHNlCkBAIC0yMzQ4LDggKzIzNT QsOCBAQAog
ewogLypTb21lIGtlcm5lbCBkZXZlbG9wZXIgcmVtb3ZlZCB0aG UgZXhwb3J0
IG9mIHN5bWJvbCAiZmx1c2hfdGxiX3BhZ2UiIG9uIDIuNi4yNS B4ODZfNjQg
U01QIGtlcm5lbC4KICAgRGVmaW5lIGEgc2ltcGxlIHZlcnNpb2 4gaGVyZS4q
LwotI2lmIGRlZmluZWQoX194ODZfNjRfXykgJiYgZGVmaW5lZC hfX1NNUF9f
KSAmJiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRV JTSU9OKDIs
NiwyNSkpIAotICAgIG9uX2VhY2hfY3B1KEtDTF9mbHVzaF90bG Jfb25lLCAm
dmEsIDEsIDEpOworI2lmIGRlZmluZWQoX194ODZfNjRfXykgJi YgKExJTlVY
X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMj UpKSAKKyAg
ICBvbl9lYWNoX2NwdShLQ0xfZmx1c2hfdGxiX29uZSwgJnZhLC AxKTsKICNl
bHNlCiAgICAgZmx1c2hfdGxiX3BhZ2Uodm1hLCB2YSk7CiAjZW 5kaWYKQEAg
LTI3NjYsNyArMjc3Miw3IEBACiAKIC8qKioqKioqKioqKioqKi oqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi oqKioqKioq
KioqKioqKioqKi8KIAotI2lmZGVmIF9fU01QX18KKyNpZmRlZi BDT05GSUdf
U01QCiBzdGF0aWMgYXRvbWljX3QgY3B1c193YWl0aW5nOwogCi BzdGF0aWMg
dm9pZCBkZWZlcnJlZF9mbHVzaCh2b2lkKiBjb250ZXh0cCkKQE AgLTI3ODIs
MTMgKzI3ODgsMTMgQEAKIAl3aGlsZSAoYXRvbWljX3JlYWQoJm NwdXNfd2Fp
dGluZykgPiAwKQogCQliYXJyaWVyKCk7CiB9Ci0jZW5kaWYgLy ogX19TTVBf
XyAqLworI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAogaW50IE FUSV9BUElf
Q0FMTCBfX2tlX2ZsdXNoX2NhY2hlKHZvaWQpCiB7Ci0jaWZkZW YgX19TTVBf
XworI2lmZGVmIENPTkZJR19TTVAKICAgICAvKiB3cml0ZSBiYW NrIGludmFs
aWRhdGUgYWxsIG90aGVyIENQVXMgKGV4cG9ydGVkIGJ5IGtlcm 5lbCkgKi8K
LQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oZGVmZXJyZWRfZmx1c2 gsIE5VTEws
IDEsIDApICE9IDApCisJaWYgKFNNUF9DQUxMX0ZVTkNUSU9OKG RlZmVycmVk
X2ZsdXNoLCBOVUxMLCAxLCAwKSAhPSAwKQogCQlwYW5pYygidG ltZWQgb3V0
IHdhaXRpbmcgZm9yIHRoZSBvdGhlciBDUFVzIVxuIik7CiAKIC AgICAvKiBp
bnZhbGlkYXRlIHRoaXMgQ1BVICovCkBAIC0yODAyLDcgKzI4MD gsNyBAQAog
CiAJd2hpbGUgKGF0b21pY19yZWFkKCZjcHVzX3dhaXRpbmcpID 4gMCkKIAkJ
YmFycmllcigpOwotI2Vsc2UgLyogIV9fU01QX18gKi8KKyNlbH NlIC8qICFD
T05GSUdfU01QICovCiAjaWYgZGVmaW5lZChfX2kzODZfXykgfH wgZGVmaW5l
ZChfX3g4Nl82NF9fKQogCWFzbSB2b2xhdGlsZSAoIndiaW52ZC I6OjoibWVt
b3J5Iik7CiAjZWxpZiBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZG VmaW5lZChf
X3NwYXJjX18pCkBAIC0yODEwLDcgKzI4MTYsNyBAQAogI2Vsc2 UKICNlcnJv
ciAiUGxlYXNlIGRlZmluZSBmbHVzaF9jYWNoZSBmb3IgeW91ci BhcmNoaXRl
Y3R1cmUuIgogI2VuZGlmCi0jZW5kaWYgLyogIV9fU01QX18gKi 8KKyNlbmRp
ZiAvKiAhQ09ORklHX1NNUCAqLwogCiAgICAgLy9mb3Iga2Vybm VsIDIuNi4y
NSwgdGxiX2ZsdXNoIGhhcyBiZWVuIGluY2x1ZGVkIHdoZW4gY2 FsbGluZyBz
ZXRfcGFnZXNfKi4KICAgICAjaWYgTElOVVhfVkVSU0lPTl9DT0 RFIDwgS0VS
TkVMX1ZFUlNJT04oMiw2LDI1KQpAQCAtNDA2MCw3ICs0MDY2LD cgQEAKICAg
IH0KIAogI2lmZGVmIENPTkZJR19TTVAKLSAgIGlmIChzbXBfY2 FsbF9mdW5j
dGlvbihLQ0xfc2V0dXBfcGF0LCBOVUxMLCAwLCAxKSAhPSAwKQ orICAgaWYg
KFNNUF9DQUxMX0ZVTkNUSU9OKEtDTF9zZXR1cF9wYXQsIE5VTE wsIDAsIDEp
ICE9IDApCiAgICAgICAgcmV0dXJuIDA7CiAjZW5kaWYKICAgIE tDTF9zZXR1
cF9wYXQoTlVMTCk7CkBAIC00MDc5LDcgKzQwODUsNyBAQAogIC AgIH0KIAog
I2lmZGVmIENPTkZJR19TTVAKLSAgICBpZiAoc21wX2NhbGxfZn VuY3Rpb24o
S0NMX3Jlc3RvcmVfcGF0LCBOVUxMLCAwLCAxKSAhPSAwKQorIC AgIGlmIChT
TVBfQ0FMTF9GVU5DVElPTihLQ0xfcmVzdG9yZV9wYXQsIE5VTE wsIDAsIDEp
ICE9IDApCiAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAgICAgS0 NMX3Jlc3Rv
cmVfcGF0KE5VTEwpOwo=
====
EDIT: I tried this but it gave nothing on the output:
deltatux@penguin1:~> nano temp
deltatux@penguin1:~> uudecode temp >> firegl_public.c
Thanks,
deltatuxLast edited by deltatux; 11 November 2008, 12:56 AM.
Comment
Comment