キツいスペックのPCで ..
211:login:Penguin
06/12/19 18:26:53 26YT2lm/
Vine4.0のrpmがi486でこける原因がわかりました。rpmio/rpmsw.cにrdtsc命令がベタ書き
されているためでした。疑ってごめんな、gcc、これじゃi386用のコードは吐けないよな。
というわけでbogomipsとuptimeから近似値を作り代用します。以下パッチ、
#defineHP_TIMING_ZERO(Var)(Var) = (0)
-#defineHP_TIMING_NOW(Var)__asm__ __volatile__ ("rdtsc" : "=A" (Var))
+
+#if defined(__FAKE_RDTSC__)
+
+#define UPTIME_FILE "/proc/uptime"
+#define CPUINFO_FILE "/proc/cpuinfo"
+unsigned long long fake_rdtsc(void);
+
+unsigned long long fake_rdtsc(void) {
+
+ int fd, k = 0, i = 0, i2 = 0, l, m = 0;
+ unsigned long long f_tsc, cpu_frq;
+ ssize_t n = 1;
+ char buf[32], bog[1024], mps[16];
+ struct utsname minfo;
+
+ uname(&minfo);
+ if ( minfo.machine[1] != '3' && minfo.machine[1] != '4' ) {
+ __asm__ __volatile__ ("rdtsc" : "=A" (f_tsc));
+ return f_tsc;
+ }
+
+ fd = open( CPUINFO_FILE, O_RDONLY );
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5397日前に更新/276 KB
担当:undef