SL-6000Dをヤフオクで入手しました。メモ代わりにこのページを記します。 自分の行ったことをほぼ時系列に記録して行きますので、同系統の話題が いろんな箇所に散らばって出て来ますが御了承下さい。
[Colors] Schema = 17 background = #000000 foreground = #FFFFFF [KeyCode] [Konsole] FontID = 3 Charset = EUC
set convert-meta off set meta-flag on set output-meta on
export SHELL=/home/QtPalmtop/bin/zshここでは、zshへのpathを間違わないように注意してください。たぶんターミナルが起動できなく なると思いますので...。
ターミナルでの動作確認が出来たら、/etc/passwdのログインシェルをzshに変更するのも有りでしょう。
*** keycode.tbl.save Sat Nov 17 11:30:30 2007 --- keycode.tbl Sat Nov 17 11:30:28 2007 *************** *** 24,36 **** 0x006 Key_F 0x66 0x46 0x6 0xffff 0xa1 0x106 Key_Underscore 0x5f 0xffff 0x6 0xffff 0x01 0x007 Key_G 0x67 0x47 0x7 0xffff 0xa1 ! 0x107 Key_yen 0xff65 0xffff 0x7 0xffff 0x01 0x008 Key_H 0x68 0x48 0x8 0xffff 0xa1 ! 0x108 Key_cent 0xff62 0xffff 0x8 0xffff 0x01 0x009 Key_I 0x69 0x49 0x9 0xffff 0xa1 0x109 Key_8 0x38 0x3e 0x9 0xffff 0x01 0x00a Key_J 0x6a 0x4a 0xa 0xffff 0xa1 ! 0x10a Key_sterling 0xff63 0xffff 0xa 0xffff 0x01 0x00b Key_K 0x6b 0x4b 0xb 0xffff 0xa1 0x10b Key_ParenLeft 0x28 0xffff 0xb 0xffff 0x01 0x00c Key_L 0x6c 0x4c 0xc 0xffff 0xa1 --- 24,48 ---- 0x006 Key_F 0x66 0x46 0x6 0xffff 0xa1 0x106 Key_Underscore 0x5f 0xffff 0x6 0xffff 0x01 0x007 Key_G 0x67 0x47 0x7 0xffff 0xa1 ! # ! # # -> Fn + G ! ##0x107 Key_yen 0xff65 0xffff 0x7 0xffff 0x01 ! 0x107 Key_NumberSign 0x23 0xffff 0x7 0xffff 0x01 ! # 0x008 Key_H 0x68 0x48 0x8 0xffff 0xa1 ! # ! # $ -> Fn + H ! ##0x108 Key_cent 0xff62 0xffff 0x8 0xffff 0x01 ! 0x108 Key_Dollar 0x24 0xffff 0x8 0xffff 0x01 ! # 0x009 Key_I 0x69 0x49 0x9 0xffff 0xa1 0x109 Key_8 0x38 0x3e 0x9 0xffff 0x01 0x00a Key_J 0x6a 0x4a 0xa 0xffff 0xa1 ! # ! # % -> Fn + J ! ##0x10a Key_sterling 0xff63 0xffff 0xa 0xffff 0x01 ! 0x10a Key_Percent 0x25 0xffff 0xa 0xffff 0x01 ! # 0x00b Key_K 0x6b 0x4b 0xb 0xffff 0xa1 0x10b Key_ParenLeft 0x28 0xffff 0xb 0xffff 0x01 0x00c Key_L 0x6c 0x4c 0xc 0xffff 0xa1 *************** *** 53,68 **** 0x114 Key_5 0x35 0x25 0x14 0xffff 0x01 0x015 Key_U 0x75 0x55 0x15 0xffff 0xa1 0x115 Key_7 0x37 0x3c 0x15 0xffff 0x01 ! 0x016 Key_V 0x76 0x56 0x16 0xffff 0x81 ! 0x116 Key_V 0x16 0xffff 0x16 0xffff 0x41 0x017 Key_W 0x77 0x57 0x17 0xffff 0xa1 0x117 Key_2 0x32 0x22 0x17 0xffff 0x01 ! 0x018 Key_X 0x78 0x58 0x18 0xffff 0x81 ! 0x118 Key_X 0x18 0xffff 0x18 0xffff 0x41 0x019 Key_Y 0x79 0x59 0x19 0xffff 0xa1 0x119 Key_6 0x36 0x26 0x19 0xffff 0x01 ! 0x01a Key_Z 0x7a 0x5a 0x1a 0xffff 0x81 ! 0x11a Key_Z 0x1a 0xffff 0x1a 0xffff 0x41 0x01b Key_Shift 0xffff 0xffff 0xffff 0xffff 0x10 0x11b Key_Shift 0xffff 0xffff 0xffff 0xffff 0x10 0x01c Key_Return 0xd 0xd 0x5d 0xffff 0x01 --- 65,95 ---- 0x114 Key_5 0x35 0x25 0x14 0xffff 0x01 0x015 Key_U 0x75 0x55 0x15 0xffff 0xa1 0x115 Key_7 0x37 0x3c 0x15 0xffff 0x01 ! # ! # \ -> Fn + V ! ##0x016 Key_V 0x76 0x56 0x16 0xffff 0x81 ! ##0x116 Key_V 0x16 0xffff 0x16 0xffff 0x41 ! 0x016 Key_V 0x76 0x56 0x16 0xffff 0xa1 ! 0x116 Key_Backslash 0x5c 0xffff 0x16 0xffff 0x01 ! # 0x017 Key_W 0x77 0x57 0x17 0xffff 0xa1 0x117 Key_2 0x32 0x22 0x17 0xffff 0x01 ! # ! # ^ -> Fn + X ! ##0x018 Key_X 0x78 0x58 0x18 0xffff 0x81 ! ##0x118 Key_X 0x18 0xffff 0x18 0xffff 0x41 ! 0x018 Key_X 0x78 0x58 0x18 0xffff 0xa1 ! 0x118 Key_AsciiCircum 0x5e 0xffff 0x18 0xffff 0x01 ! # 0x019 Key_Y 0x79 0x59 0x19 0xffff 0xa1 0x119 Key_6 0x36 0x26 0x19 0xffff 0x01 ! # ! # & -> Fn + Z ! ##0x01a Key_Z 0x7a 0x5a 0x1a 0xffff 0x81 ! ##0x11a Key_Z 0x1a 0xffff 0x1a 0xffff 0x41 ! 0x01a Key_Z 0x7a 0x5a 0x1a 0xffff 0xa1 ! 0x11a Key_Ampersand 0x26 0xffff 0x1a 0xffff 0x01 ! # 0x01b Key_Shift 0xffff 0xffff 0xffff 0xffff 0x10 0x11b Key_Shift 0xffff 0xffff 0xffff 0xffff 0x10 0x01c Key_Return 0xd 0xd 0x5d 0xffff 0x01 *************** *** 134,140 **** 0x040 Key_Minus 0x2d 0x22 0x5b 0xffff 0x01 0x140 Key_At 0x40 0xffff 0x5b 0xffff 0x01 0x041 Key_Tab 0x9 0xffff 0xffff 0xffff 0x01 ! 0x141 Key_CapsLock 0xffff 0xffff 0xffff 0xffff 0x10 0x045 Key_F26 0xffff 0xffff 0xffff 0xffff 0x00 0x145 Key_F31 0xffff 0xffff 0xffff 0xffff 0x00 0x046 Key_F21 0xffff 0xffff 0xffff 0xffff 0x00 --- 161,171 ---- 0x040 Key_Minus 0x2d 0x22 0x5b 0xffff 0x01 0x140 Key_At 0x40 0xffff 0x5b 0xffff 0x01 0x041 Key_Tab 0x9 0xffff 0xffff 0xffff 0x01 ! # ! # < -> Fn + [Tab] ! ##0x141 Key_CapsLock 0xffff 0xffff 0xffff 0xffff 0x10 ! 0x141 Key_Less 0x3c 0xffff 0xffff 0xffff 0x01 ! # 0x045 Key_F26 0xffff 0xffff 0xffff 0xffff 0x00 0x145 Key_F31 0xffff 0xffff 0xffff 0xffff 0x00 0x046 Key_F21 0xffff 0xffff 0xffff 0xffff 0x00 *************** *** 180,186 **** 0x05b Key_F30 0x20 0x20 0x20 0xffff 0x00 0x15b Key_F30 0x20 0x20 0x20 0xffff 0x00 0x05c Key_Space 0x20 0x7c 0x60 0xffff 0x01 ! 0x15c Key_F23 0xffff 0xffff 0x60 0xffff 0x00 0x05d Key_Delete 0xffff 0xffff 0xffff 0xffff 0x21 0x15d Key_Period 0x2e 0x2e 0xffff 0xffff 0x21 0x05e Key_Rotate2 0xffff 0xffff 0xffff 0xffff 0x00 --- 211,221 ---- 0x05b Key_F30 0x20 0x20 0x20 0xffff 0x00 0x15b Key_F30 0x20 0x20 0x20 0xffff 0x00 0x05c Key_Space 0x20 0x7c 0x60 0xffff 0x01 ! # ! # > -> Fn + [Space] ! ##0x15c Key_F23 0xffff 0xffff 0x60 0xffff 0x00 ! 0x15c Key_Greater 0x3e 0xffff 0x60 0xffff 0x01 ! # 0x05d Key_Delete 0xffff 0xffff 0xffff 0xffff 0x21 0x15d Key_Period 0x2e 0x2e 0xffff 0xffff 0x21 0x05e Key_Rotate2 0xffff 0xffff 0xffff 0xffff 0x00
記号 | keycode.tbl修正にて以下に割付け 当然、元々割付けられていた機能は使えなくなりますB-P |
---|---|
# | [Fn] + [G] |
$ | [Fn] + [H] |
% | [Fn] + [J] |
& | [Fn] + [Z] |
^ | [Fn] + [X] |
\ | [Fn] + [V] |
< | [Fn] + [Tab] |
> | [Fn] + [変換] |
記号 | キー入力の割付け |
---|---|
" | [Shift] + [-] |
| | [Shift] + [変換] |
` | [Fn] + [Shift] + [変換] |
{ | [Fn] + [Shift] + [,] |
} | [Fn] + [Shift] + [.] |
[ | [Fn] + [Shift] + [-] |
] | [Fn] + [Shift] + [enter] |
; | [Fn] + [enter] |
元々、CTRL-Z,X,Vも[Fn] + [ZXV]で入力できるのですが、上記の keycode.tblの修正で、該当するキーストロークに記号を割り当てているので 利用できなくなっています。
それと、2ch情報ですが、[●](<-[Cancel]の上のボタン)を[Ctrl] に割り当てることも出来るようです。
keycodes.tblのSharpSpecialの行をとの事です。
0x03a Key_Control 0xffff 0xffff 0xffff 0xffff 0x10
に変えた上でqpe.confを
Special=@1021
xmodmap ~/.Xmodmap rxvt & exec blackbox
keycode 22 = minus quotedbl keycode 42 = Return grave keycode 69 = comma slash keycode 70 = period question keycode 77 = space bar keycode 103 = F9 braceleft keycode 104 = Control_L braceright keycode 106 = Alt_L bracketleft keycode 107 = F13 bracketright
記号 | keycode.tbl+.Xmodmapにて以下に割付け | 備考 |
---|---|---|
/ | [Shift] + [,] | |
? | [Shift] + [.] | |
# | [Fn] + [G] | |
$ | [Fn] + [H] | |
% | [Fn] + [J] | |
& | [Fn] + [Z] | |
^ | [Fn] + [X] | |
\ | [Fn] + [V] | |
< | [Fn] + [Tab] | |
> | [Fn] + [変換] | |
" | [Shift] + [-] | |
| | [Shift] + [変換] | |
` | [Shift] + [Return] | Qtopia環境と異なる割当て |
{ | [Shift] + [Calendar] | Qtopia環境と異なる割当て |
} | [Shift] + [Address] | Qtopia環境と異なる割当て |
[ | [Shift] + [Home] | Qtopia環境と異なる割当て |
] | [Shift] + [Mail] | Qtopia環境と異なる割当て |
; | [Fn] + [enter] |
既に公開されている事例を参考にしながら作業して行くのですが、それらとちょっと 違うところは、素直にext2フォーマットしたSDに dev.tar.gz を展開せずに、SD上にext2フォーマットしたパーティションのイメージファイルを用意して それをループバックデバイスを利用してマウントし、そこに環境を展開している点です。
なぜわざわざそうしているかというと、zaurus(qtopia?)の仕様上、カード類の上に多くの ディレクトリが存在すると「ボイスレコーダ」や「ソフトウェアの追加/削除」の動作が 極端に遅くなるからです。
umount /dev/mmcda1
mke2fs /dev/mmcda1
mount /dev/mmcda1 /usr/mnt.rom/card
dd if=/dev/zero of=/usr/mnt.rom/card/.swap bs=1024 count=131072
mkswap /usr/mnt.rom/card/.swap
swapon /usr/mnt.rom/card/.swap
dd if=/dev/zero of=/usr/mnt.rom/card/.dev.img bs=1024 count=768000
mke2fs /usr/mnt.rom/card/.dev.img
mkdir /tmp/mnt mount -o loop /usr/mnt.rom/card/.dev.img /tmp/mnt
cd /tmp/mnt (cd /usr/local && tar cf - .) | tar xvpf -
umount /tmp/mnt rm -r /tmp/mnt mount -o loop /usr/mnt.rom/card/.dev.img /home/root/usr/local
cd /usr/local tar xvzf /mnt/cf/dev.tar.gz chown -R root.root dev
cd /usr/local/dev/bin ./compiler_setup -r /usr/local/dev
mkdir /usr/local/tmp chmod 1777 /usr/local/tmp
export PATH="${PATH}:/usr/local/dev/bin:/usr/local/dev/tmake/bin" export TMAKEPATH="/usr/local/dev/tmake/lib/qws/linux-sharp-g++" export TMP="/usr/local/tmp" export TMPDIR=${TMP}
GROUP(/lib/libc.so.6 libc_nonshared.a)
*** generic.h.ORG Wed Jan 2 11:27:34 2008 --- generic.h Wed Jan 2 11:41:31 2008 *************** *** 146,160 **** * Do the prototypes. Somebody might want to take the * address or some such sick thing.. */ ! #if defined(__KERNEL__) || (defined (__GLIBC__) & __GLIBC__ >= 2) extern __u32 ntohl(__u32); extern __u32 htonl(__u32); ! #else extern unsigned long int ntohl(unsigned long int); extern unsigned long int htonl(unsigned long int); ! #endif extern unsigned short int ntohs(unsigned short int); extern unsigned short int htons(unsigned short int); #if defined(__GNUC__) & (__GNUC__ >= 2) & defined(__OPTIMIZE__) --- 146,162 ---- * Do the prototypes. Somebody might want to take the * address or some such sick thing.. */ ! #if defined(__KERNEL__) ! # if defined (__GLIBC__) & __GLIBC__ >= 2 extern __u32 ntohl(__u32); extern __u32 htonl(__u32); ! # else extern unsigned long int ntohl(unsigned long int); extern unsigned long int htonl(unsigned long int); ! # endif extern unsigned short int ntohs(unsigned short int); extern unsigned short int htons(unsigned short int); + #endif #if defined(__GNUC__) & (__GNUC__ >= 2) & defined(__OPTIMIZE__) *************** *** 164,178 **** #define ___ntohl(x) __be32_to_cpu(x) #define ___ntohs(x) __be16_to_cpu(x) ! #if defined(__KERNEL__) || (defined (__GLIBC__) & __GLIBC__ >= 2) #define htonl(x) ___htonl(x) #define ntohl(x) ___ntohl(x) ! #else #define htonl(x) ((unsigned long)___htonl(x)) #define ntohl(x) ((unsigned long)___ntohl(x)) ! #endif #define htons(x) ___htons(x) #define ntohs(x) ___ntohs(x) #endif /* OPTIMIZE */ --- 166,182 ---- #define ___ntohl(x) __be32_to_cpu(x) #define ___ntohs(x) __be16_to_cpu(x) ! #if defined(__KERNEL__) ! # if defined (__GLIBC__) & __GLIBC__ >= 2 #define htonl(x) ___htonl(x) #define ntohl(x) ___ntohl(x) ! # else #define htonl(x) ((unsigned long)___htonl(x)) #define ntohl(x) ((unsigned long)___ntohl(x)) ! # endif #define htons(x) ___htons(x) #define ntohs(x) ___ntohs(x) + #endif #endif /* OPTIMIZE */
# ls -al /lib/libnsl* -rwxr-xr-x 1 root root 75332 May 20 2002 /lib/libnsl-2.2.2.so lrwxrwxrwx 1 root root 15 Jan 8 2004 /lib/libnsl.so.1 -> libnsl-2.2.2.soという状態で-lnslオプションでリンクしようとしても失敗します。対策としては
# cd /usr/local/lib # ln -s /lib/libnsl-2.2.2.so libnsl.soとします。
/lib配下のライブラリの内、末尾が.soでない全てのライブラリに関して同様に /usr/local/lib配下に末尾.soでシンボリックリンクを作成します。
また、/usr/lib配下のライブラリに関しても同様に末尾が.soでない全てのライ ブラリに関して同じディレクトリ配下に末尾.soでシンボリックリンクを作成します。
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/usr/local/X11R6/lib \ -L/opt/QtPalmtop/lib" \ ./configure \ --prefix=/usr/local \ --x-includes=/usr/local/X11R6/include \ --x-libraries=/opt/QtPalmtop/lib \ --enable-shared \ --enable-static
BINDIR = /usr/local/X11R6/bin MANDIR = /usr/local/X11R6/man/man1に変更
*** host.def.ORG Tue Dec 18 20:56:13 2007 --- host.def Thu Dec 20 09:56:47 2007 *************** *** 6,12 **** /*efine DefaultCDebugFlags -g*/ /* To cross compile, enable this */ ! #define CrossCompiling YES #define ProjectRoot /opt/QtPalmtop /*efine ProjectRoot /usr/local/X11R6*/ --- 6,13 ---- /*efine DefaultCDebugFlags -g*/ /* To cross compile, enable this */ ! /* #define CrossCompiling YES */ ! #define CrossCompiling NO #define ProjectRoot /opt/QtPalmtop /*efine ProjectRoot /usr/local/X11R6*/ *************** *** 20,26 **** /* add followings for sharp SL series */ /*-DQT_QWS_SL5XXX -DQT_QWS_CUSTOM */ #else ! #if 1 /* use Qt/X11 */ #define QtDir /usr/lib/qt-3.1 #define QtLibs -lqt -lm #define QtDefs QtCmnDefs --- 21,27 ---- /* add followings for sharp SL series */ /*-DQT_QWS_SL5XXX -DQT_QWS_CUSTOM */ #else ! #if 0 /* use Qt/X11 */ #define QtDir /usr/lib/qt-3.1 #define QtLibs -lqt -lm #define QtDefs QtCmnDefs *************** *** 70,72 **** --- 71,75 ---- #define BuildDPMSExt NO #define DPMSDefines /**/ + #define StandardIncludes -I/usr/local/include -I/usr/local/X11R6/include -I/usr/local/X11R6/include/X11 + #define CppCmd cpp
*** Makefile.ORG Wed Dec 19 16:14:24 2007 --- Makefile Wed Dec 19 16:13:36 2007 *************** *** 207,213 **** HOST_CC = cc ! STD_INCLUDES = -I/usr/local/include -I/usr/local/X11R6/include STD_CPP_OPTIONS = -traditional STD_CPP_DEFINES = -traditional -Dlinux -D__arm__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE $(PROJECT_DEFINES) STD_DEFINES = -Dlinux -D__arm__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE $(PROJECT_DEFINES) --- 207,213 ---- HOST_CC = cc ! STD_INCLUDES = -I/usr/local/X11R6/include STD_CPP_OPTIONS = -traditional STD_CPP_DEFINES = -traditional -Dlinux -D__arm__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE $(PROJECT_DEFINES) STD_DEFINES = -Dlinux -D__arm__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE $(PROJECT_DEFINES) *************** *** 934,940 **** main.o: main.c $(ICONFIGFILES) $(RM) $@ ! $(CC) -c $(CFLAGS) $(MAIN_DEFINES) $*.c main.i: main.c $(ICONFIGFILES) $(RM) $@ --- 934,940 ---- main.o: main.c $(ICONFIGFILES) $(RM) $@ ! $(CC) -c -I/opt/QtPalmtop/include -I/usr/local/X11R6/include -I/usr/local/X11R6/include/X11 $(MAIN_DEFINES) $*.c main.i: main.c $(ICONFIGFILES) $(RM) $@ *************** *** 1000,1005 **** --- 1000,1009 ---- .c.s: $(RM) $@ $(CC) -S $(CFLAGS) $(_NOOP_) $*.c + + .c.o: + $(RM) $@ + $(CC) -c -I/opt/QtPalmtop/include -I/usr/local/X11R6/include -I/usr/local/X11R6/include/X11 $*.c emptyrule::
make DESTDIR=/usr/local/X11R6 \ BINDIR=/bin \ CONFDIR=/lib/X11 \ LIBDIR=/lib \ XAPPLOADDIR=/lib/X11/app-defaults \ DOCHTMLDIR=/lib/X11/doc/html \ MANDIR=/man/man1 \ install install.manのようにしています。
2008.01.08 追記
firefox-2.0.0.11は無事ビルドできたけれども、起動しても表示されず...。ひょっとしたら
異常に起動に時間が掛かっていただけかもしれないけれども、一旦2.0.0.11はあきらめて
firefox-1.0.8(古い...)をビルドしてみた。結果、正常に起動できるものがビルドできま
した。噂どおり起動するまでに1分程度かかりますが、起動してしまえば意外と使えます。
まぁ何と言ってもSL-6000でfirefoxが使えるだけでも有難いことでは有ります。ちなみに
firefox-1.0.8はlibXi.so.6.0をリンクしてませんでした...。
2008.01.18 追記
firefox-2.0.0.11も無事ビルド出来ました。初回の起動に時間がめちゃくちゃかかってる
(5分程度?)だけで(おそらく~/.mozilla/配下にプロファイルを作成するのに時間がかかってる
のではと想像...)、むしろ2回目以降はfirefox-1.0.8より動きが軽快な気がします。
xrdb -cpp /usr/local/dev/bin/cpp -merge ~/.Xresourcesのように実行してやるとうまく行きます。
XAPPLRESDIR="/usr/local/X11R6/lib/X11/app-defaults/" export XAPPLRESDIR
/home/QtPalmtop/qpe.shを編集します。
## nice survive -l 6 runqpe $QPEUSER $QPEGROUP >/dev/null 2>&1 survive -l 6 runqpe $QPEUSER $QPEGROUP >/dev/null 2>&1
*** qpe.conf.20080126 Sat Jan 26 14:31:28 2008 --- qpe.conf Mon Jan 28 17:04:02 2008 *************** *** 40,46 **** Brightness = 51 Brightness_AC = 51 Dim = 1 ! Interval = 1800 Interval_AC_00 = 900 Interval_AC_01 = 1800 Interval_AC_02 = 3600 --- 40,46 ---- Brightness = 51 Brightness_AC = 51 Dim = 1 ! Interval = 0 Interval_AC_00 = 900 Interval_AC_01 = 1800 Interval_AC_02 = 3600ただし、GUIで設定を更新するとInterval値もGUIで設定できる 範囲の値に戻ってしまうので注意が必要です。
*** inittab.ORG Mon Jan 28 12:20:46 2008 --- inittab Mon Jan 28 12:21:00 2008 *************** *** 28,34 **** sw::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1 # Specify program to run on ttyS0 ! s0:24:respawn:/sbin/getty 9600 ttyS0 pd:3:respawn:/etc/sync/serialctl # Specify program to run on tty1 --- 28,34 ---- sw::ctrlaltdel:/sbin/swapoff -a > /dev/null 2>&1 # Specify program to run on ttyS0 ! s0:245:respawn:/sbin/getty 9600 ttyS0 pd:3:respawn:/etc/sync/serialctl # Specify program to run on tty1その後、「telinit q」にてinittabの修正をinitプロセスに 通知してやります。
Windows側でTeraTermを起動し、接続先ポートにCOM1を 選択し[ENTER]を押下すればloginプロンプトが表示され ます。
2008.01.30 追記
boot時に参照されるinittabは/etc/inittabではなくて/root/etc/inittabのようです。
/root/etc/inittabを修正するためには/(ルート)をrwでマウントし直す必要がありますが、
個人的にはroの領域まで修正を加えることは望まないので、必要なときにtelinit qする
運用でいきたいと思ってます(またはgettyが起動してなければtelinit qするようなスクリプト
を定期的にcronで実行ぐらいはするかも)。
zaurusからWindowsパソコン側にファイルを送信する場合も ZMODEMプロトコルを利用します。まずzaurus側で 「sz 送信ファイル名」 コマンドを実行し、その後Windowsパソコン側のTeraTermで、 File->Transfer->ZMODEM->Receiveを選択します。
とりあえず 配布されてるドライバ(acm.o,vmb_usb.o)を 抜き出して無理矢理ロードしてみました...。
# ls *.o acm.o vmb_usb.o # lsmod Module Size Used by pxa_bi 21728 0 (unused) net_fd 25024 0 (unused) usbdcore 34544 0 [pxa_bi net_fd] usbdmonitor 5248 0 sharp_mmcsd_m 31520 2 usb_ohci_tc6393 24544 0 (unused) usbcore 52048 1 [usb_ohci_tc6393] # insmod -f acm.o Warning: kernel-module version mismatch acm.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.18-rmk7-pxa3-embedix # insmod -f vmb_usb.o Warning: kernel-module version mismatch vmb_usb.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.18-rmk7-pxa3-embedix # lsmod Module Size Used by vmb_usb 39152 0 (unused) acm 7664 0 (unused) pxa_bi 21728 0 (unused) net_fd 25024 0 (unused) usbdcore 34544 0 [pxa_bi net_fd] usbdmonitor 5248 0 sharp_mmcsd_m 31520 2 usb_ohci_tc6393 24544 0 (unused) usbcore 52048 1 [vmb_usb acm usb_ohci_tc6393] # dmesg usb.c: registered new driver <NULL> ../acm.c: v0.21:USB Abstract Control Model driver for USB modems and ISDN adapters ../acm.c acm_init #対象となるカーネルバージョンが合ってないので警告は出てるの ですが、なんとなくローディングはできている模様。これ以上は 実機が無いのでなんとも出来ないのですが(^^;。
ソースのバージョンは最新にはこだわらない方針です。build出来ることを最優先します。 2001.03(gcc-2.95.xの最終リリース時期)〜2003.12(SL-6000発表時期)辺りのソースがbuild しやすいように感じます。
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/usr/local/X11R6/lib \ -L/opt/QtPalmtop/lib" \ ./configure \ --prefix=/usr/local \ --x-includes=/usr/local/X11R6/include \ --x-libraries=/opt/QtPalmtop/lib \ --enable-shared \ --enable-static
*** config.sub.ORG Fri Dec 14 23:51:03 2007 --- config.sub Fri Dec 14 23:54:01 2007 *************** *** 156,162 **** | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ | mipstx39 | mipstx39el \ ! | sparc | sparclet | sparclite | sparc64 | v850) basic_machine=$basic_machine-unknown ;; # We use `pc' rather than `unknown' --- 156,162 ---- | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ | mipstx39 | mipstx39el \ ! | sparc | sparclet | sparclite | sparc64 | v850 | armv5tel*) basic_machine=$basic_machine-unknown ;; # We use `pc' rather than `unknown' *** ltconfig.ORG Sat Dec 15 09:51:51 2007 --- ltconfig Sat Dec 15 13:18:13 2007 *************** *** 1161,1167 **** ;; # This must be Linux ELF. ! linux-gnu*) version_type=linux library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' soname_spec='${libname}${release}.so.$major' --- 1161,1167 ---- ;; # This must be Linux ELF. ! linux-gnu*|unknown-linux-gnu*) version_type=linux library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' soname_spec='${libname}${release}.so.$major'
*** ltconfig.ORG Sun Dec 16 18:53:02 2007 --- ltconfig Sun Dec 16 22:35:06 2007 *************** *** 1216,1222 **** ;; # This must be Linux ELF. ! linux-gnu*) version_type=linux need_lib_prefix=no need_version=no --- 1216,1222 ---- ;; # This must be Linux ELF. ! linux-gnu*|unknown-linux-gnu) version_type=linux need_lib_prefix=no need_version=no
*** main.c.ORG Wed Dec 19 12:16:45 2007 --- main.c Wed Dec 19 12:26:27 2007 *************** *** 142,147 **** --- 142,151 ---- #define WTMP #endif + #ifdef linux + #include <asm/termbits.h> + #endif + #include <sys/ioctl.h> #include <sys/stat.h> *** ptyx.h.ORG Wed Dec 19 21:39:48 2007 --- ptyx.h Wed Dec 19 21:43:29 2007 *************** *** 93,99 **** --- 93,103 ---- #ifdef hpux #define PTYCHAR1 "zyxwvutsrqp" #else /* !hpux */ + #if defined(__arm__) && defined(__linux__) + #define PTYCHAR1 "a" + #else #define PTYCHAR1 "pqrstuvwxyzPQRSTUVWXYZ" + #endif #endif /* !hpux */ #endif /* !PTYCHAR1 */ *** screen.c.ORG Wed Dec 19 12:31:56 2007 --- screen.c Wed Dec 19 12:38:26 2007 *************** *** 46,52 **** --- 46,56 ---- #include <sys/ptem.h> #endif + #ifdef linux + extern Char *realloc(); + #else extern Char *calloc(), *malloc(), *realloc(); + #endif extern void free(); ScrnBuf Allocate (nrow, ncol, addr) *** scrollbar.c.ORG Wed Dec 19 12:39:08 2007 --- scrollbar.c Wed Dec 19 12:42:22 2007 *************** *** 324,330 **** register TScreen *screen = &xw->screen; register int border = 2 * screen->border; register int i; ! Char *realloc(), *calloc(); if(screen->scrollbar) return; --- 324,334 ---- register TScreen *screen = &xw->screen; register int border = 2 * screen->border; register int i; ! #ifdef linux ! Char *realloc(); ! #else ! Char *realloc(), *calloc(); ! #endif if(screen->scrollbar) return;インストールは以下の方法で
make DESTDIR=/usr/local/X11R6 \ BINDIR=/bin \ CONFDIR=/lib/X11 \ LIBDIR=/lib \ XAPPLOADDIR=/lib/X11/app-defaults \ DOCHTMLDIR=/lib/X11/doc/html \ MANDIR=/man/man1 \ install install.manただし、電源ボタンでのサスペンド復帰時にフリーズしてしまうので使えませんでした...。
cd /usr/local/dev/bin ln -s ../lib/gcc-lib/armv4l-redhat-linux/2.95.1/cpp .後は通常の手順でビルドOK
*** Kinput2.conf.ORG Thu Dec 20 12:18:58 2007 --- Kinput2.conf Thu Dec 20 12:32:46 2007 *************** *** 18,24 **** /* #define UseWnn */ /* define if you are going to use Wnn (v4, v6 or v7) */ /* #define UseWnn6 */ /* define if you are going to use Wnn6 or above */ #define UseCanna /* define if you are going to use Canna */ ! #define UseSj3 /* define if you are going to use Sj3 */ /* #define UseAtok */ /* define if you are going to use Atok */ --- 18,24 ---- /* #define UseWnn */ /* define if you are going to use Wnn (v4, v6 or v7) */ /* #define UseWnn6 */ /* define if you are going to use Wnn6 or above */ #define UseCanna /* define if you are going to use Canna */ ! /* #define UseSj3 */ /* define if you are going to use Sj3 */ /* #define UseAtok */ /* define if you are going to use Atok */ *************** *** 78,94 **** * If you have already installed Canna header files and libraries.. */ XCOMM use installed headers/libraries ! XCOMM CANNAINSTDIR = /usr/local/canna ! XCOMM CANNASRC = $(CANNAINSTDIR)/include ! XCOMM CANNALIB = -lcanna16 /* * If you have compiled Canna that came with X11R6 (contrib/programs/Canna), * but not installed yet.. */ XCOMM use headers/libraries in the source tree ! CANNASRC = $(CONTRIBSRC)/programs/Canna32 ! CANNALIB = -L$(CANNASRC)/lib/canna16 -lcanna16 XCOMM SJ3 configuration --- 78,94 ---- * If you have already installed Canna header files and libraries.. */ XCOMM use installed headers/libraries ! CANNAINSTDIR = /usr/local/canna ! CANNASRC = $(CANNAINSTDIR)/include ! CANNALIB = -L$(CANNAINSTDIR)/lib -lcanna16 /* * If you have compiled Canna that came with X11R6 (contrib/programs/Canna), * but not installed yet.. */ XCOMM use headers/libraries in the source tree ! XCOMM CANNASRC = $(CONTRIBSRC)/programs/Canna32 ! XCOMM CANNALIB = -L$(CANNASRC)/lib/canna16 -lcanna16 XCOMM SJ3 configurationインストール後、以下のリソース設定をしないとkinput2を起動できない。
Kinput2*IMProtocol.locales: ja_JP.eucJP
*** system.c.ORG Thu Dec 20 16:50:19 2007 --- system.c Thu Dec 20 16:50:55 2007 *************** *** 1617,1623 **** --- 1617,1625 ---- { CTL_DEBUG, "CTL_DEBUG" }, { CTL_DEV, "CTL_DEV" }, { CTL_BUS, "CTL_BUS" }, + #if 0 { CTL_ABI, "CTL_ABI" }, + #endif { CTL_CPU, "CTL_CPU" }, { 0, NULL } };
*** utilities/Makefile.in.ORG Sun Dec 23 02:15:54 2007 --- utilities/Makefile.in Sun Dec 23 02:22:45 2007 *************** *** 266,272 **** LIBRARY_CURRENT = @LIBRARY_CURRENT@ LIBRARY_EXTRA_CPPFLAGS = @LIBRARY_EXTRA_CPPFLAGS@ LIBRARY_REVISION = @LIBRARY_REVISION@ ! LIBS = @LIBS@ LIBSTDCLDFLAGS = @LIBSTDCLDFLAGS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ --- 266,272 ---- LIBRARY_CURRENT = @LIBRARY_CURRENT@ LIBRARY_EXTRA_CPPFLAGS = @LIBRARY_EXTRA_CPPFLAGS@ LIBRARY_REVISION = @LIBRARY_REVISION@ ! LIBS = @LIBS@ -lXt LIBSTDCLDFLAGS = @LIBSTDCLDFLAGS@ LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@
*** Makefile.in.ORG Fri Dec 21 18:05:43 2007 --- Makefile.in Fri Dec 21 17:58:05 2007 *************** *** 59,65 **** RC_DIR='$(RC_DIR)' DESTDIR='$(DESTDIR)' KEYBIND_SRC='$(KEYBIND_SRC)' IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@ ! IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@ CC0 = @CC@ CC = @POSUBST@ $(CC0) --- 59,65 ---- RC_DIR='$(RC_DIR)' DESTDIR='$(DESTDIR)' KEYBIND_SRC='$(KEYBIND_SRC)' IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@ ! IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@ -lfreetype CC0 = @CC@ CC = @POSUBST@ $(CC0)
diff -crN ../canfep-1.0.ORG/Makefile ./Makefile *** ../canfep-1.0.ORG/Makefile Tue Dec 18 16:09:27 2001 --- ./Makefile Sun May 20 12:35:28 2007 *************** *** 1,7 **** # Linux CC=c++ LIBS=-lcanna -ltermcap ! CFLAGS=-O2 -g # Solaris 2.6J #CC=c++ --- 1,8 ---- # Linux CC=c++ LIBS=-lcanna -ltermcap ! CFLAGS=-O2 -g -I/usr/local/canna/include ! LDFLAGS=-L/usr/local/canna/lib # Solaris 2.6J #CC=c++ *************** *** 19,25 **** all: $(TARGET) $(TARGET): $(OBJS) ! $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) .C.o: $(CC) $(CFLAGS) -c $< --- 20,26 ---- all: $(TARGET) $(TARGET): $(OBJS) ! $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) .C.o: $(CC) $(CFLAGS) -c $< diff -crN ../canfep-1.0.ORG/pty.C ./pty.C *** ../canfep-1.0.ORG/pty.C Sat Dec 22 23:57:31 2001 --- ./pty.C Sun May 20 12:31:58 2007 *************** *** 11,16 **** --- 11,18 ---- char Pty::endstr[] = ""; char Pty::endmsg[] = ""; + static char nullstr[] = ""; + static char *Tgetstr(char *id, char **area); // コンストラクタだよん Pty::Pty(int ac, char** av, char* amsg, char* emsg) { *************** *** 30,54 **** char* pt = funcstr; // スタンドアウト (反転) ! so = tgetstr("so", &pt); adjstr(so); ! se = tgetstr("se", &pt); adjstr(se); // アンダーライン (下線) ! us = tgetstr("us", &pt); adjstr(us); ! ue = tgetstr("ue", &pt); adjstr(ue); // カーソル位置の保存,保存した位置への復帰 ! sc = tgetstr("sc", &pt); adjstr(sc); ! rc = tgetstr("rc", &pt); adjstr(rc); // カーソル位置から行の最後までを削除する ! ce = tgetstr("ce", &pt); adjstr(ce); // ステータスラインを持っているかどうか --- 32,56 ---- char* pt = funcstr; // スタンドアウト (反転) ! so = Tgetstr("so", &pt); adjstr(so); ! se = Tgetstr("se", &pt); adjstr(se); // アンダーライン (下線) ! us = Tgetstr("us", &pt); adjstr(us); ! ue = Tgetstr("ue", &pt); adjstr(ue); // カーソル位置の保存,保存した位置への復帰 ! sc = Tgetstr("sc", &pt); adjstr(sc); ! rc = Tgetstr("rc", &pt); adjstr(rc); // カーソル位置から行の最後までを削除する ! ce = Tgetstr("ce", &pt); adjstr(ce); // ステータスラインを持っているかどうか *************** *** 62,72 **** // ステータスラインへ移動,戻る if (hs) { ! ts = tgoto(tgetstr("ts", &pt), 0, 0); adjstr(ts); ! fs = tgetstr("fs", &pt); adjstr(fs); ! ds = tgetstr("ds", &pt); adjstr(ds); if (ds) { strcat(endstr, ds); --- 64,74 ---- // ステータスラインへ移動,戻る if (hs) { ! ts = tgoto(Tgetstr("ts", &pt), 0, 0); adjstr(ts); ! fs = Tgetstr("fs", &pt); adjstr(fs); ! ds = Tgetstr("ds", &pt); adjstr(ds); if (ds) { strcat(endstr, ds); *************** *** 74,98 **** } } else { ! char* cs = tgoto(tgetstr("cs", &pt), tgetnum("li") - 2, 0); adjstr(cs); if (cs) { write(1, ce, strlen(ce)); write(1, cs, strlen(cs)); } ! char* cl = tgetstr("cl", &pt); adjstr(cl); if (cl) { write(1, cl, strlen(cl)); strcat(endstr, cl); } ! ds = tgoto(tgetstr("cs", &pt), tgetnum("li") - 1, 0); adjstr(ds); if (ds) { strcat(endstr, ds); strcat(endstr, ce); } ! ts = tgoto(tgetstr("cm", &pt), 0, tgetnum("li") - 1); adjstr(ts); fs = rc; } --- 76,100 ---- } } else { ! char* cs = tgoto(Tgetstr("cs", &pt), tgetnum("li") - 2, 0); adjstr(cs); if (cs) { write(1, ce, strlen(ce)); write(1, cs, strlen(cs)); } ! char* cl = Tgetstr("cl", &pt); adjstr(cl); if (cl) { write(1, cl, strlen(cl)); strcat(endstr, cl); } ! ds = tgoto(Tgetstr("cs", &pt), tgetnum("li") - 1, 0); adjstr(ds); if (ds) { strcat(endstr, ds); strcat(endstr, ce); } ! ts = tgoto(Tgetstr("cm", &pt), 0, tgetnum("li") - 1); adjstr(ts); fs = rc; } *************** *** 133,138 **** --- 135,148 ---- fail(); } if (child) { + #if defined(__NetBSD__) + // + // 起動してもなぜか直に終了してしまう原因はexecしたshellが + // 起動しきる前に、その疑似端末のマスタ側を読み込もうとし + // ていたかららしい。 + // + sleep(1); + #endif close(0); int cc; int ret; *************** *** 165,170 **** --- 175,189 ---- dup2(slave, 1); dup2(slave, 2); close(slave); + #if defined(__NetBSD__) + // + // CTRL-C(SIGINT)等のシグナルが効かなかった原因は、疑似端末の + // スレーブが制御端末として設定できていなかったかららしい。 + // + // stdin(=疑似端末のスレーブ)を制御端末とする + // + ioctl(0, TIOCSCTTY, 0); + #endif if (ac > 1) execvp(av[1], &av[1]); else *************** *** 334,358 **** tgetent(buff, term); char funcstr[BUFSIZ]; char* pt = funcstr; ! char* cs = tgoto(tgetstr("cs", &pt), tgetnum("li") - 2, 0); adjstr(cs); if (cs) { write(1, ce, strlen(ce)); write(1, cs, strlen(cs)); } ! char* cl = tgetstr("cl", &pt); adjstr(cl); if (cl) { write(1, cl, strlen(cl)); strcpy(endstr, cl); } ! ds = tgoto(tgetstr("cs", &pt), tgetnum("li") - 1, 0); adjstr(ds); if (ds) { strcat(endstr, ds); strcat(endstr, ce); } ! ts = tgoto(tgetstr("cm", &pt), 0, tgetnum("li") - 1); adjstr(ts); } --- 353,377 ---- tgetent(buff, term); char funcstr[BUFSIZ]; char* pt = funcstr; ! char* cs = tgoto(Tgetstr("cs", &pt), tgetnum("li") - 2, 0); adjstr(cs); if (cs) { write(1, ce, strlen(ce)); write(1, cs, strlen(cs)); } ! char* cl = Tgetstr("cl", &pt); adjstr(cl); if (cl) { write(1, cl, strlen(cl)); strcpy(endstr, cl); } ! ds = tgoto(Tgetstr("cs", &pt), tgetnum("li") - 1, 0); adjstr(ds); if (ds) { strcat(endstr, ds); strcat(endstr, ce); } ! ts = tgoto(Tgetstr("cm", &pt), 0, tgetnum("li") - 1); adjstr(ts); } *************** *** 365,367 **** --- 384,399 ---- signal(SIGWINCH, (SIG_PF) winchange); } + // + // termcapエントリが貧弱な場合core dumpするのを防ぐ為のtgetstr代替 + // + static char *Tgetstr(char *id, char **area) + { + static char *str; + str = tgetstr(id, area); + if (str == (char *)NULL){ + return(nullstr); + }else{ + return(str); + } + } diff -crN ../canfep-1.0.ORG/pty.H ./pty.H *** ../canfep-1.0.ORG/pty.H Sat Dec 22 23:56:54 2001 --- ./pty.H Sun May 20 12:31:58 2007 *************** *** 15,21 **** #include <sys/file.h> #include <sys/signal.h> #include <sys/wait.h> ! #if defined(sun) #include <curses.h> #else #include <term.h> --- 15,21 ---- #include <sys/file.h> #include <sys/signal.h> #include <sys/wait.h> ! #if defined(sun) || defined(__NetBSD__) #include <curses.h> #else #include <term.h> *** pty.C.ORG Mon Dec 24 21:04:16 2007 --- pty.C Mon Dec 24 21:08:03 2007 *************** *** 251,258 **** --- 251,263 ---- { struct stat stb; + #if 0 char* pty = &line[strlen("/dev/ptyp")]; for (char* p = "pqrs"; *p; p++) { + #else + char* pty = &line[strlen("/dev/ptya")]; + for (char* p = "a"; *p; p++) { + #endif line[strlen("/dev/pty")] = *p; *pty = '0'; if (stat(line, &stb) < 0)
diff -crN emacs-18.59.ORG/Makefile emacs-18.59/Makefile *** emacs-18.59.ORG/Makefile Fri Dec 28 15:09:55 2007 --- emacs-18.59/Makefile Fri Dec 28 20:25:46 2007 *************** *** 18,24 **** # but there was no explanation of why, so it seems better to keep this stable. LIBDIR= /usr/local/emacs BINDIR= /usr/local/bin ! MANDIR= /usr/man/man1 CC= gcc # Flags passed down to subdirectory makefiles. --- 18,24 ---- # but there was no explanation of why, so it seems better to keep this stable. LIBDIR= /usr/local/emacs BINDIR= /usr/local/bin ! MANDIR= /usr/local/man/man1 CC= gcc # Flags passed down to subdirectory makefiles. *************** *** 26,32 **** # Command used for installation. # If `install' doesn't work on your system, try `./install.sh'. ! INSTALL=/usr/bin/install # Subdirectories to make recursively. `lisp' is not included # because the compiled lisp files are part of the distribution --- 26,32 ---- # Command used for installation. # If `install' doesn't work on your system, try `./install.sh'. ! INSTALL=/usr/local/bin/install # Subdirectories to make recursively. `lisp' is not included # because the compiled lisp files are part of the distribution *************** *** 73,79 **** mv ${BINDIR}/xemacs ${BINDIR}/emacs (cd /usr/local; chown -R root.root emacs) chmod 2755 /usr/local/emacs/etc/movemail ! chgrp mail /usr/local/emacs/etc/movemail install.sysv: all mkdir lockdir -if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \ --- 73,79 ---- mv ${BINDIR}/xemacs ${BINDIR}/emacs (cd /usr/local; chown -R root.root emacs) chmod 2755 /usr/local/emacs/etc/movemail ! -chgrp mail /usr/local/emacs/etc/movemail install.sysv: all mkdir lockdir -if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \ diff -crN emacs-18.59.ORG/src/config.h emacs-18.59/src/config.h *** emacs-18.59.ORG/src/config.h Fri Dec 28 15:09:57 2007 --- emacs-18.59/src/config.h Fri Dec 28 20:26:18 2007 *************** *** 19,30 **** along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Include here a s- file that describes the system type you are using. See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ ! #include "s-linux.h" #define ATTRIBUTE /* Include here a m- file that describes the machine and system you use. --- 19,31 ---- along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + /* 2007.12.28 modified for zaurus(SL-6000D) by Masahiko Ito <m-ito@myh.no-ip.org> */ /* Include here a s- file that describes the system type you are using. See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ ! #include "s-zaurus.h" #define ATTRIBUTE /* Include here a m- file that describes the machine and system you use. *************** *** 33,39 **** See m-template.h for info on what m- files should define. */ ! #include "m-linux.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not --- 34,40 ---- See m-template.h for info on what m- files should define. */ ! #include "m-zaurus.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not diff -crN emacs-18.59.ORG/src/m-zaurus.h emacs-18.59/src/m-zaurus.h *** emacs-18.59.ORG/src/m-zaurus.h Thu Jan 1 09:00:00 1970 --- emacs-18.59/src/m-zaurus.h Fri Dec 28 20:26:18 2007 *************** *** 0 **** --- 1,71 ---- + /* Machine description file for ARM-based non-RISCiX machines. + Copyright (C) 1994 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + /* 2007.12.28 modified for zaurus(SL-6000D) by Masahiko Ito <m-ito@myh.no-ip.org> */ + + #define SHORTBITS 16 /* Number of bits in a short */ + #define INTBITS 32 /* Number of bits in an int */ + /* Define CANNOT_DUMP on machines where unexec does not work. + Then the function dump-emacs will not be defined + and temacs will do (load "loadup") automatically unless told otherwise. */ + #undef CANNOT_DUMP + + /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word + is the most significant byte. */ + + #undef WORDS_BIG_ENDIAN + + /* Define NO_ARG_ARRAY if you cannot take the address of the first of a + * group of arguments and treat it as an array of the arguments. We can't + * do this on the arm with gcc, since the first 4 args are in registers. */ + + #ifdef __GNUC__ + #define NO_ARG_ARRAY + #else + #undef NO_ARG_ARRAY + #endif + + /* Define WORD_MACHINE if addresses and such have + * to be corrected before they can be used as byte counts. */ + + #undef WORD_MACHINE + + /* Define how to take a char and sign-extend into an int. + On machines where char is signed, this is a no-op. */ + + #define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24) + + #define NO_UNION_TYPE + + #ifdef __GNUC__ + + /* Use builtin alloca. Also be sure that no other ones are tried out. */ + #define alloca __builtin_alloca + #define HAVE_ALLOCA + + #else + #define C_ALLOCA + #undef HAVE_ALLOCA + #endif /* __GNUC__ */ + + #define NO_REMAP + + #define STACK_DIRECTION -1 + diff -crN emacs-18.59.ORG/src/s-zaurus.h emacs-18.59/src/s-zaurus.h *** emacs-18.59.ORG/src/s-zaurus.h Thu Jan 1 09:00:00 1970 --- emacs-18.59/src/s-zaurus.h Fri Dec 28 20:26:18 2007 *************** *** 0 **** --- 1,125 ---- + /* Definitions file for GNU Emacs running on linux 0.96c pl2 and gcc 2.2.2 + by Rick Sladkey <jrs@world.std.com>, your mileage may vary */ + + /* + This file is part of Mule (MULtilingual Enhancement of GNU Emacs). + + Mule is free software distributed in the form of patches to GNU Emacs. + You can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + Mule is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs; see the file COPYING. If not, write to + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + /* 93.5.4 modified for Mule Ver.0.9.8 + by S.Komeda <komeda@ics.es.osaka-u.ac.jp> + Linux support updated. */ + + /* 2007.12.28 modified for zaurus(SL-6000D) by Masahiko Ito <m-ito@myh.no-ip.org> */ + + #include "s-usg5-2.h" /* as close as anything */ + #undef SYSTEM_TYPE + #define SYSTEM_TYPE "Linux" + + /* overrides for linux versus s-usg5-2.h */ + + #undef TERMINFO /* not really SYSV */ + #undef COFF /* not really SYSV */ + #undef NOMULTIPLEJOBS /* not even used ... */ + #undef NONSYSTEM_DIR_LIBRARY /* use our dirent library for VFS */ + #undef static /* static is OK for with gcc */ + #undef sigsetmask /* linux has sigsetmask */ + #undef _setjmp /* we must use macro in setjmp.h */ + + /* We need bss_end from emacs.c for undumping */ + + #ifndef USG_SHARED_LIBRARIES + #define USG_SHARED_LIBRARIES + #endif + + #define DATA_SEG_BITS 0x02000000 + + #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o + #define LIB_STANDARD -lc /usr/lib/crtn.o + + #define UNEXEC unexelf.o + /*#define UNEXEC_USE_MAP_PRIVATE*/ + + /* just a few small changes for linux ... */ + + /* let's see, what have we got here */ + + #define HAVE_TCATTR /* fixes ^z problems */ + #define HAVE_SETSID /* fixes shell problems */ + #define HAVE_DUP2 /* is builtin */ + #define HAVE_TIMEVAL /* is builtin */ + #define HAVE_GETTIMEOFDAY /* is builtin */ + #define HAVE_RENAME /* is builtin */ + #define HAVE_RANDOM /* is builtin */ + #define HAVE_SELECT /* works */ + #define HAVE_PTYS /* works */ + #define HAVE_CLOSEDIR /* we have a closedir */ + #define HAVE_GETPAGESIZE /* we now have getpagesize (0.96) */ + #define HAVE_VFORK /* we now have vfork (0.96) */ + #define HAVE_SYS_SIGLIST /* we have a (non-standard) sys_siglist */ + #define HAVE_GETWD /* cure conflict with getcwd? */ + #define HAVE_SOCKETS /* we have socket */ + #define NO_SOCK_SIGIO /* linux doesn't have SIGIO */ + + #define BSTRING /* we now have bcopy, etc. (0.96) */ + #define USE_UTIME /* don't have utimes */ + #define NO_SIOCTL_H /* don't have sioctl.h */ + #define SYSV_SYSTEM_DIR /* use dirent.h */ + #define USG_SYS_TIME /* use sys/time.h, not time.h */ + + #define INTERRUPTABLE_CLOSE /* no harm if not true */ + #define close sys_close + + #define C_COMPILER gcc + #define C_DEBUG_SWITCH -O2 -fwritable-strings -fomit-frame-pointer -D__const= + #define C_OPTIMIZE_SWITCH -O2 -fwritable-strings -fomit-frame-pointer -D__const= + #define C_SWITCH_SYSTEM -I/opt/QtPalmtop/include + #define C_SWITCH_X_SYSTEM -I/usr/local/include -I/usr/local/X11R6/include + #define OLDXMENU_OPTIONS CFLAGS="-O2 -I/opt/QtPalmtop/include -I/usr/local/include -I/usr/local/X11R6/include" EXTRA=insque.o /* doesn't work anyway */ + #define LIB_X11_LIB -L/opt/QtPalmtop/lib -lX11 + #define ORDINARY_LINK /* if you use libc.so.4.4 or greater */ + + #if 0 /* choose for yourself */ + #define SYSTEM_MALLOC /* produces smaller binary */ + #else + #define ULIMIT_BREAK_VALUE (32*1024*1024) /* ulimit not implemented */ + #endif + + #undef rcheck /* for debugging builtin malloc */ + + #ifdef rcheck + #define botch(msg) (printf("%s", (msg)), abort()) + #endif + + /* misc. kludges for linux */ + + #define __const /* avoids type mismatch errors */ + + #define MAXNAMLEN NAME_MAX /* missing SYSV-ism */ + + #define SIGBUS SIGSEGV /* rename to harmless work-alike */ + #define SIGSYS SIGSEGV /* rename to harmless work-alike */ + + #define VSWTCH VSWTC /* mis-spelling in termios.h? */ + #define CDEL '\0' /* missing termio-ism */ + + /* we have non-standard standard I/O (iostream) ... */ + + #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) + + /* defines for linux in preparation for m-intel386.h */ + + #define DONT_DEFINE_SIGNAL /* live with the warnings */
diff -crN emacs-18.59.ORG/Makefile emacs-18.59/Makefile *** emacs-18.59.ORG/Makefile Fri Dec 28 15:09:55 2007 --- emacs-18.59/Makefile Fri Dec 28 20:25:46 2007 *************** *** 18,24 **** # but there was no explanation of why, so it seems better to keep this stable. LIBDIR= /usr/local/emacs BINDIR= /usr/local/bin ! MANDIR= /usr/man/man1 CC= gcc # Flags passed down to subdirectory makefiles. --- 18,24 ---- # but there was no explanation of why, so it seems better to keep this stable. LIBDIR= /usr/local/emacs BINDIR= /usr/local/bin ! MANDIR= /usr/local/man/man1 CC= gcc # Flags passed down to subdirectory makefiles. *************** *** 26,32 **** # Command used for installation. # If `install' doesn't work on your system, try `./install.sh'. ! INSTALL=/usr/bin/install # Subdirectories to make recursively. `lisp' is not included # because the compiled lisp files are part of the distribution --- 26,32 ---- # Command used for installation. # If `install' doesn't work on your system, try `./install.sh'. ! INSTALL=/usr/local/bin/install # Subdirectories to make recursively. `lisp' is not included # because the compiled lisp files are part of the distribution *************** *** 73,79 **** mv ${BINDIR}/xemacs ${BINDIR}/emacs (cd /usr/local; chown -R root.root emacs) chmod 2755 /usr/local/emacs/etc/movemail ! chgrp mail /usr/local/emacs/etc/movemail install.sysv: all mkdir lockdir -if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \ --- 73,79 ---- mv ${BINDIR}/xemacs ${BINDIR}/emacs (cd /usr/local; chown -R root.root emacs) chmod 2755 /usr/local/emacs/etc/movemail ! -chgrp mail /usr/local/emacs/etc/movemail install.sysv: all mkdir lockdir -if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \ diff -crN emacs-18.59.ORG/src/config.h emacs-18.59/src/config.h *** emacs-18.59.ORG/src/config.h Fri Dec 28 15:09:57 2007 --- emacs-18.59/src/config.h Fri Dec 28 20:33:31 2007 *************** *** 19,30 **** along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Include here a s- file that describes the system type you are using. See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ ! #include "s-linux.h" #define ATTRIBUTE /* Include here a m- file that describes the machine and system you use. --- 19,31 ---- along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + /* 2007.12.28 modified for zaurus(SL-6000D) by Masahiko Ito <m-ito@myh.no-ip.org> */ /* Include here a s- file that describes the system type you are using. See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ ! #include "s-zaurus.h" #define ATTRIBUTE /* Include here a m- file that describes the machine and system you use. *************** *** 33,39 **** See m-template.h for info on what m- files should define. */ ! #include "m-linux.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not --- 34,40 ---- See m-template.h for info on what m- files should define. */ ! #include "m-zaurus.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not *************** *** 48,54 **** /* Define HAVE_X_WINDOWS if you want to use the X window system. */ ! #define HAVE_X_WINDOWS /* Define X11 if you want to use version 11 of X windows. Otherwise, Emacs expects to use version 10. */ --- 49,55 ---- /* Define HAVE_X_WINDOWS if you want to use the X window system. */ ! #undef HAVE_X_WINDOWS /* Define X11 if you want to use version 11 of X windows. Otherwise, Emacs expects to use version 10. */ diff -crN emacs-18.59.ORG/src/m-zaurus.h emacs-18.59/src/m-zaurus.h *** emacs-18.59.ORG/src/m-zaurus.h Thu Jan 1 09:00:00 1970 --- emacs-18.59/src/m-zaurus.h Fri Dec 28 20:26:18 2007 *************** *** 0 **** --- 1,71 ---- + /* Machine description file for ARM-based non-RISCiX machines. + Copyright (C) 1994 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + /* 2007.12.28 modified for zaurus(SL-6000D) by Masahiko Ito <m-ito@myh.no-ip.org> */ + + #define SHORTBITS 16 /* Number of bits in a short */ + #define INTBITS 32 /* Number of bits in an int */ + /* Define CANNOT_DUMP on machines where unexec does not work. + Then the function dump-emacs will not be defined + and temacs will do (load "loadup") automatically unless told otherwise. */ + #undef CANNOT_DUMP + + /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word + is the most significant byte. */ + + #undef WORDS_BIG_ENDIAN + + /* Define NO_ARG_ARRAY if you cannot take the address of the first of a + * group of arguments and treat it as an array of the arguments. We can't + * do this on the arm with gcc, since the first 4 args are in registers. */ + + #ifdef __GNUC__ + #define NO_ARG_ARRAY + #else + #undef NO_ARG_ARRAY + #endif + + /* Define WORD_MACHINE if addresses and such have + * to be corrected before they can be used as byte counts. */ + + #undef WORD_MACHINE + + /* Define how to take a char and sign-extend into an int. + On machines where char is signed, this is a no-op. */ + + #define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24) + + #define NO_UNION_TYPE + + #ifdef __GNUC__ + + /* Use builtin alloca. Also be sure that no other ones are tried out. */ + #define alloca __builtin_alloca + #define HAVE_ALLOCA + + #else + #define C_ALLOCA + #undef HAVE_ALLOCA + #endif /* __GNUC__ */ + + #define NO_REMAP + + #define STACK_DIRECTION -1 + diff -crN emacs-18.59.ORG/src/s-zaurus.h emacs-18.59/src/s-zaurus.h *** emacs-18.59.ORG/src/s-zaurus.h Thu Jan 1 09:00:00 1970 --- emacs-18.59/src/s-zaurus.h Fri Dec 28 20:26:18 2007 *************** *** 0 **** --- 1,125 ---- + /* Definitions file for GNU Emacs running on linux 0.96c pl2 and gcc 2.2.2 + by Rick Sladkey <jrs@world.std.com>, your mileage may vary */ + + /* + This file is part of Mule (MULtilingual Enhancement of GNU Emacs). + + Mule is free software distributed in the form of patches to GNU Emacs. + You can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + Mule is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs; see the file COPYING. If not, write to + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + /* 93.5.4 modified for Mule Ver.0.9.8 + by S.Komeda <komeda@ics.es.osaka-u.ac.jp> + Linux support updated. */ + + /* 2007.12.28 modified for zaurus(SL-6000D) by Masahiko Ito <m-ito@myh.no-ip.org> */ + + #include "s-usg5-2.h" /* as close as anything */ + #undef SYSTEM_TYPE + #define SYSTEM_TYPE "Linux" + + /* overrides for linux versus s-usg5-2.h */ + + #undef TERMINFO /* not really SYSV */ + #undef COFF /* not really SYSV */ + #undef NOMULTIPLEJOBS /* not even used ... */ + #undef NONSYSTEM_DIR_LIBRARY /* use our dirent library for VFS */ + #undef static /* static is OK for with gcc */ + #undef sigsetmask /* linux has sigsetmask */ + #undef _setjmp /* we must use macro in setjmp.h */ + + /* We need bss_end from emacs.c for undumping */ + + #ifndef USG_SHARED_LIBRARIES + #define USG_SHARED_LIBRARIES + #endif + + #define DATA_SEG_BITS 0x02000000 + + #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o + #define LIB_STANDARD -lc /usr/lib/crtn.o + + #define UNEXEC unexelf.o + /*#define UNEXEC_USE_MAP_PRIVATE*/ + + /* just a few small changes for linux ... */ + + /* let's see, what have we got here */ + + #define HAVE_TCATTR /* fixes ^z problems */ + #define HAVE_SETSID /* fixes shell problems */ + #define HAVE_DUP2 /* is builtin */ + #define HAVE_TIMEVAL /* is builtin */ + #define HAVE_GETTIMEOFDAY /* is builtin */ + #define HAVE_RENAME /* is builtin */ + #define HAVE_RANDOM /* is builtin */ + #define HAVE_SELECT /* works */ + #define HAVE_PTYS /* works */ + #define HAVE_CLOSEDIR /* we have a closedir */ + #define HAVE_GETPAGESIZE /* we now have getpagesize (0.96) */ + #define HAVE_VFORK /* we now have vfork (0.96) */ + #define HAVE_SYS_SIGLIST /* we have a (non-standard) sys_siglist */ + #define HAVE_GETWD /* cure conflict with getcwd? */ + #define HAVE_SOCKETS /* we have socket */ + #define NO_SOCK_SIGIO /* linux doesn't have SIGIO */ + + #define BSTRING /* we now have bcopy, etc. (0.96) */ + #define USE_UTIME /* don't have utimes */ + #define NO_SIOCTL_H /* don't have sioctl.h */ + #define SYSV_SYSTEM_DIR /* use dirent.h */ + #define USG_SYS_TIME /* use sys/time.h, not time.h */ + + #define INTERRUPTABLE_CLOSE /* no harm if not true */ + #define close sys_close + + #define C_COMPILER gcc + #define C_DEBUG_SWITCH -O2 -fwritable-strings -fomit-frame-pointer -D__const= + #define C_OPTIMIZE_SWITCH -O2 -fwritable-strings -fomit-frame-pointer -D__const= + #define C_SWITCH_SYSTEM -I/opt/QtPalmtop/include + #define C_SWITCH_X_SYSTEM -I/usr/local/include -I/usr/local/X11R6/include + #define OLDXMENU_OPTIONS CFLAGS="-O2 -I/opt/QtPalmtop/include -I/usr/local/include -I/usr/local/X11R6/include" EXTRA=insque.o /* doesn't work anyway */ + #define LIB_X11_LIB -L/opt/QtPalmtop/lib -lX11 + #define ORDINARY_LINK /* if you use libc.so.4.4 or greater */ + + #if 0 /* choose for yourself */ + #define SYSTEM_MALLOC /* produces smaller binary */ + #else + #define ULIMIT_BREAK_VALUE (32*1024*1024) /* ulimit not implemented */ + #endif + + #undef rcheck /* for debugging builtin malloc */ + + #ifdef rcheck + #define botch(msg) (printf("%s", (msg)), abort()) + #endif + + /* misc. kludges for linux */ + + #define __const /* avoids type mismatch errors */ + + #define MAXNAMLEN NAME_MAX /* missing SYSV-ism */ + + #define SIGBUS SIGSEGV /* rename to harmless work-alike */ + #define SIGSYS SIGSEGV /* rename to harmless work-alike */ + + #define VSWTCH VSWTC /* mis-spelling in termios.h? */ + #define CDEL '\0' /* missing termio-ism */ + + /* we have non-standard standard I/O (iostream) ... */ + + #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) + + /* defines for linux in preparation for m-intel386.h */ + + #define DONT_DEFINE_SIGNAL /* live with the warnings */余談。
zaurus@zaurus /usr/local/src> cat memtest.c #include <stdio.h> #include <stdlib.h> char g_c; main() { char l_c; char *h_c; h_c = (char *)malloc(1); printf("global g_c = %x\n", &g_c); printf("local l_c = %x\n", &l_c); printf("heap h_c = %x\n", h_c); } zaurus@zaurus /usr/local/src> cc -o memtest memtest.c zaurus@zaurus /usr/local/src> ./memtest global g_c = 200853c local l_c = bffff443 heap h_c = 2008548みたいにして、0x02000000と「予想」しました。とりあえず動いてるからいいや...の レベルです。
rxvt上でnemacsを使っていて、電源スイッチでサスペンドさせると 復帰した時に特定のキーシーケンスが入力されるようで、nemacsが 固まったようになるのですが、CTRL-Gで中断すれば元に戻ります。
*** configure.h.ORG Fri Dec 28 23:42:06 2007 --- configure.h Fri Dec 28 23:49:06 2007 *************** *** 1,7 **** --- 1,13 ---- + #if 0 #define FVWMDIR "/usr/lib/X11/fvwm" /* #define FVWMDIR "/local/homes/dsp/nation/modules"*/ #define FVWM_ICONDIR "/usr/include/X11/bitmaps:/usr/include/X11/pixmaps" #define FVWMRC "/usr/lib/X11/fvwm/system.fvwmrc" + #else + #define FVWMDIR "/usr/local/X11R6/lib/X11/fvwm" + #define FVWM_ICONDIR "/usr/local/X11R6/include/X11/bitmaps:/usr/local/X11R6/include/X11/pixmaps" + #define FVWMRC "/usr/local/X11R6/lib/X11/fvwm/system.fvwmrc" + #endif /* Imake command needed to put modules in desired target location */ /* Use the second version if it causes grief */インストールは以下の方法で
make \ BINDIR=/usr/local/X11R6/bin \ CONFDIR=/usr/local/X11R6/lib/X11 \ LIBDIR=/usr/local/X11R6/lib \ XAPPLOADDIR=/usr/local/X11R6/lib/X11/app-defaults \ DOCHTMLDIR=/usr/local/X11R6/lib/X11/doc/html \ MANDIR=/usr/local/X11R6/man/man1 \ install install.man
*** Makefile.ORG Sat Dec 29 01:20:06 2007 --- Makefile Sat Dec 29 01:21:07 2007 *************** *** 9,19 **** ### c flags ### CC = gcc ! CFLAGS = -I/usr/X11R6/include -O2 -Wall # For Solaris # CFLAGS = -I/usr/openwin/include -O2 -Wall ! LDFLAGS = -L/usr/X11R6/lib # For Solaris # LDFLAGS = -L/usr/openwin/lib LDLIBS = -lXaw -lXmu -lXt -lXext -lX11 --- 9,19 ---- ### c flags ### CC = gcc ! CFLAGS = -I/usr/local/X11R6/include -O2 -Wall # For Solaris # CFLAGS = -I/usr/openwin/include -O2 -Wall ! LDFLAGS = -L/opt/QtPalmtop/lib # For Solaris # LDFLAGS = -L/usr/openwin/lib LDLIBS = -lXaw -lXmu -lXt -lXext -lX11
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/opt/QtPalmtop/lib" \ ./configure \ --prefix=/usr/local \ --x-includes=/usr/local/X11R6/include \ --x-libraries=/opt/QtPalmtop/lib \ --enable-shared \ --enable-static \ --enable-languages \ --enable-everything \ --with-encoding=eucj \ --enable-xim make make clock make install
*** Makefile.ORG Sun Dec 30 01:53:03 2007 --- Makefile Sun Dec 30 01:59:34 2007 *************** *** 38,44 **** #---------------------------------------------------------------------- # If you are running a 386 you should comment this line out. # ! CPU=-m486 #---------------------------------------------------------------------- # If you are experiencing troubles (like core dumps!), then uncomment --- 38,45 ---- #---------------------------------------------------------------------- # If you are running a 386 you should comment this line out. # ! ##CPU=-m486 ! CPU= #---------------------------------------------------------------------- # If you are experiencing troubles (like core dumps!), then uncomment
*** mixer.c.ORG Sun Dec 30 09:35:40 2007 --- mixer.c Sun Dec 30 09:36:39 2007 *************** *** 86,95 **** --- 86,97 ---- perror("SOUND_MIXER_READ_RECMASK"); exit(-1); } + #if 0 if (ioctl(baz, SOUND_MIXER_READ_RECSRC, &recsrc) == -1) { perror("SOUND_MIXER_READ_RECSRC"); exit(-1); } + #endif switch (argc) { case 3:
*** Makefile.ORG Mon Dec 31 20:46:37 2007 --- Makefile Mon Dec 31 20:48:36 2007 *************** *** 30,39 **** rm -f *.o dcron.tgz $(PROTOS) *~ install: crond crontab ! install -o root -g root -m 0755 crond /usr/sbin ! install -o root -g root -m 4755 crontab /usr/bin ! install -o root -g root crontab.1 /usr/man/man1 ! install -o root -g root crond.8 /usr/man/man8 tar: cleano (cd ..; tar cvf - dcron | gzip -9 >dcron.tgz.tmp) --- 30,39 ---- rm -f *.o dcron.tgz $(PROTOS) *~ install: crond crontab ! install -o root -g root -m 0755 crond /usr/local/sbin ! install -o root -g root -m 4755 crontab /usr/local/bin ! install -o root -g root crontab.1 /usr/local/man/man1 ! install -o root -g root crond.8 /usr/local/man/man8 tar: cleano (cd ..; tar cvf - dcron | gzip -9 >dcron.tgz.tmp) *** defs.h.ORG Mon Dec 31 20:50:03 2007 --- defs.h Mon Dec 31 20:51:39 2007 *************** *** 29,41 **** #define arysize(ary) (sizeof(ary)/sizeof((ary)[0])) #ifndef CRONTABS ! #define CRONTABS "/var/spool/cron/crontabs" #endif #ifndef TMPDIR ! #define TMPDIR "/var/spool/cron" #endif #ifndef LOG_FILE ! #define LOG_FILE "/var/log/cron" #endif #ifndef OPEN_MAX #define OPEN_MAX 256 --- 29,41 ---- #define arysize(ary) (sizeof(ary)/sizeof((ary)[0])) #ifndef CRONTABS ! #define CRONTABS "/usr/local/var/spool/cron/crontabs" #endif #ifndef TMPDIR ! #define TMPDIR "/usr/local/var/spool/cron" #endif #ifndef LOG_FILE ! #define LOG_FILE "/usr/local/var/log/cron" #endif #ifndef OPEN_MAX #define OPEN_MAX 256
*** interf_dec.c.ORG Tue Jan 1 17:13:46 2008 --- interf_dec.c Tue Jan 1 17:13:58 2008 *************** *** 1336,1339 **** s->prev_ft = frame_type; s->prev_mode = mode; } - ^@^@ \ No newline at end of file --- 1336,1338 ---- *** interf_enc.c.ORG Tue Jan 1 17:15:48 2008 --- interf_enc.c Tue Jan 1 17:16:09 2008 *************** *** 1101,1104 **** free( s ); state = NULL; } - ^@^@ \ No newline at end of file --- 1101,1103 ----
*** vidix/drivers/mga_vid.c.ORG Tue Jan 8 22:41:11 2008 --- vidix/drivers/mga_vid.c Tue Jan 8 22:40:04 2008 *************** *** 392,397 **** --- 392,399 ---- static void mga_vid_write_regs(int restore) { + unsigned char r, g, b, y, cb, cr; + int i; #ifdef BES //Make sure internal registers don't get updated until we're done writel(BESGLOBCTL, (readl(VCOUNT)-1)<<16); *************** *** 622,629 **** --- 624,633 ---- //writel(C2SPICSTARTADD1, cregs.c2spicstartadd1); //set Color Lookup Table for Subpicture Layer + #if 0 unsigned char r, g, b, y, cb, cr; int i; + #endif for (i = 0; i < 16; i++) { r = (i & 0x8) ? 0xff : 0x00; *** libdha/sysdep/pci_linux.c.ORG Tue Jan 8 22:18:57 2008 --- libdha/sysdep/pci_linux.c Tue Jan 8 22:19:55 2008 *************** *** 7,13 **** #ifdef __i386__ #include <sys/perm.h> #else ! #ifndef __sparc__ #include <sys/io.h> #endif #endif --- 7,13 ---- #ifdef __i386__ #include <sys/perm.h> #else ! #if !defined(__sparc__) && !defined(__arm__) #include <sys/io.h> #endif #endif *** libdha/pci.c.ORG Tue Jan 8 17:07:14 2008 --- libdha/pci.c Tue Jan 8 17:07:38 2008 *************** *** 463,469 **** #include "sysdep/pci_ia64.c" #elif defined(__sparc__) #include "sysdep/pci_sparc.c" ! #elif defined( __arm32__ ) #include "sysdep/pci_arm32.c" #elif defined(__powerpc__) #include "sysdep/pci_powerpc.c" --- 463,469 ---- #include "sysdep/pci_ia64.c" #elif defined(__sparc__) #include "sysdep/pci_sparc.c" ! #elif defined( __arm32__ ) || defined(__arm__) #include "sysdep/pci_arm32.c" #elif defined(__powerpc__) #include "sysdep/pci_powerpc.c" *** libdha/AsmMacros.h.ORG Tue Jan 8 17:15:57 2008 --- libdha/AsmMacros.h Tue Jan 8 17:16:24 2008 *************** *** 70,76 **** #include "sysdep/AsmMacros_ia64.h" #elif defined(__sparc__) #include "sysdep/AsmMacros_sparc.h" ! #elif defined( __arm32__ ) #include "sysdep/AsmMacros_arm32.h" #elif defined(__powerpc__) #include "sysdep/AsmMacros_powerpc.h" --- 70,76 ---- #include "sysdep/AsmMacros_ia64.h" #elif defined(__sparc__) #include "sysdep/AsmMacros_sparc.h" ! #elif defined( __arm32__ ) || defined(__arm__) #include "sysdep/AsmMacros_arm32.h" #elif defined(__powerpc__) #include "sysdep/AsmMacros_powerpc.h"上記パッチ後、以下の手順でビルド&インストール
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/usr/local/X11R6/lib \ -L/opt/QtPalmtop/lib" \ ./configure \ --prefix=/usr/local \ --enable-shared \ --enable-static make make install
*** configure.ORG Tue Jan 1 22:13:36 2008 --- configure Wed Jan 2 22:24:11 2008 *************** *** 4766,4772 **** EOF _sdl=no if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then ! if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'` if test "$_sdlversion" -gt 116 ; then if test "$_sdlversion" -lt 121 ; then --- 4766,4772 ---- EOF _sdl=no if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then ! if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` -lm >>"$TMPLOG" 2>&1 ; then _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'` if test "$_sdlversion" -gt 116 ; then if test "$_sdlversion" -lt 121 ; then *************** *** 7584,7590 **** EXTRALIBS = $_extra_libs EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm EXTRALIBS_MPLAYER = $_libs_mplayer ! EXTRALIBS_MENCODER = $_libs_mencoder HAVE_MLIB = $_mlib HAVE_PTHREADS = $_pthreads --- 7584,7590 ---- EXTRALIBS = $_extra_libs EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm EXTRALIBS_MPLAYER = $_libs_mplayer ! EXTRALIBS_MENCODER = $_libs_mencoder -lX11 HAVE_MLIB = $_mlib HAVE_PTHREADS = $_pthreads *** ./vidix/sysdep/AsmMacros_arm32.h.ORG Fri Jan 11 12:08:23 2008 --- ./vidix/sysdep/AsmMacros_arm32.h Fri Jan 11 22:41:23 2008 *************** *** 8,44 **** --- 8,68 ---- #define ASMMACROS_ARM32_H unsigned int IOPortBase; /* Memory mapped I/O port area */ + #if defined(__arm32__) static __inline__ void outb(short port,char val) + #else + static __inline__ void outbz(short port,char val) + #endif { if ((unsigned short)port >= 0x400) return; *(volatile unsigned char*)(((unsigned short)(port))+IOPortBase) = val; } + #if defined(__arm32__) static __inline__ void outw(short port,short val) + #else + static __inline__ void outwz(short port,short val) + #endif { if ((unsigned short)port >= 0x400) return; *(volatile unsigned short*)(((unsigned short)(port))+IOPortBase) = val; } + #if defined(__arm32__) static __inline__ void outl(short port,int val) + #else + static __inline__ void outlz(short port,int val) + #endif { if ((unsigned short)port >= 0x400) return; *(volatile unsigned long*)(((unsigned short)(port))+IOPortBase) = val; } + #if defined(__arm32__) static __inline__ unsigned int inb(short port) + #else + static __inline__ unsigned int inbz(short port) + #endif { if ((unsigned short)port >= 0x400) return((unsigned int)-1); return(*(volatile unsigned char*)(((unsigned short)(port))+IOPortBase)); } + #if defined(__arm32__) static __inline__ unsigned int inw(short port) + #else + static __inline__ unsigned int inwz(short port) + #endif { if ((unsigned short)port >= 0x400) return((unsigned int)-1); return(*(volatile unsigned short*)(((unsigned short)(port))+IOPortBase)); } + #if defined(__arm32__) static __inline__ unsigned int inl(short port) + #else + static __inline__ unsigned int inlz(short port) + #endif { if ((unsigned short)port >= 0x400) return((unsigned int)-1); return(*(volatile unsigned long*)(((unsigned short)(port))+IOPortBase)); *** ./vidix/pci.c.ORG Sat Jan 12 00:54:41 2008 --- ./vidix/pci.c Sat Jan 12 00:56:39 2008 *************** *** 63,68 **** --- 63,76 ---- /* OS depended stuff */ #if defined (linux) #include "sysdep/pci_linux.c" + #if defined(__arm__) + # define outb(port, val) outbz((port),(val)) + # define outw(port, val) outwz((port),(val)) + # define outl(port, val) outlz((port),(val)) + # define inb(port) inbz((port)) + # define inw(port) inwz((port)) + # define inl(port) inlz((port)) + #endif #elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined(__DragonFly__) #include "sysdep/pci_freebsd.c" #elif defined (__386BSD__) *** ./vidix/dha.c.ORG Sat Jan 12 00:54:58 2008 --- ./vidix/dha.c Sat Jan 12 00:57:24 2008 *************** *** 47,52 **** --- 47,60 ---- #include <sys/io.h> #endif #include <unistd.h> + #if defined(__arm__) + # define outb(port, val) outbz((port),(val)) + # define outw(port, val) outwz((port),(val)) + # define outl(port, val) outlz((port),(val)) + # define inb(port) inbz((port)) + # define inw(port) inwz((port)) + # define inl(port) inlz((port)) + #endif #if defined(WIN32) #include "sysdep/libdha_win32.c" *** ./vidix/AsmMacros.h.ORG Fri Jan 11 12:02:31 2008 --- ./vidix/AsmMacros.h Fri Jan 11 21:21:06 2008 *************** *** 70,76 **** #include "sysdep/AsmMacros_ia64.h" #elif defined(__sparc__) #include "sysdep/AsmMacros_sparc.h" ! #elif defined( __arm32__ ) #include "sysdep/AsmMacros_arm32.h" #elif defined(__powerpc__) #include "sysdep/AsmMacros_powerpc.h" --- 70,76 ---- #include "sysdep/AsmMacros_ia64.h" #elif defined(__sparc__) #include "sysdep/AsmMacros_sparc.h" ! #elif defined( __arm32__ ) || defined(__arm__) #include "sysdep/AsmMacros_arm32.h" #elif defined(__powerpc__) #include "sysdep/AsmMacros_powerpc.h"その後、以下の様にconfigureを実行。
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/opt/QtPalmtop/lib" \ ./configure --prefix=/usr/local \ --disable-gcc-check \ --target=generic-linux \ --enable-gui「あんたのgccのバージョンはサポートしてないねんから自分で責任持って やってや〜」 みたいなメッセージが出てconfigureが一旦止まるので、[ENTER]を押す。 あとは通常にmake;make install。
その後、 essential-20071007.tar.bz2, all-20071007.tar.bz2, Blue-1.7.tar.bz2を 通常の手順でインストールする。
framebufferでの再生は以下のように実行。
mplayer -quiet -framedrop -dr -double -vo fbdev -ao oss -vfm ffmpeg, -afm libmad, -fs -autosync 30 -cache 2048 foo.avi320x240に拡大(縮小)したい場合は -zoom -xy 320 オプションを追加。
Xでの再生は以下のように実行。
mplayer -quiet -framedrop -dr -double -vo sdl -ao oss -vfm ffmpeg, -afm libmad, -autosync 30 -cache 2048 foo.avi320x240に拡大(縮小)したい場合は -xy 320 オプションを追加。
ビデオチップのアクセラレーション機能が有効に利用できていないSL-6000においてスムーズに再生するには、
余談。
本当はconfigureの段階で「--target=generic-linux」を指定しなければ、armに多少は最適化された
mplayerができるはずなのですが、残念ながらアセンブラソース(libavcodec/armv4l/dsputil_arm_s.S)
で文法エラーが発生してしまいました。
おそらくzaurus版mplayerで有名なattyさんの
コードが本家に取り込まれているのですが、attyさんはgcc-3.4.2でビルドされているようで、
私のとこのgcc-2.95.1(と言うかgas-2.9.5?)ではビルドできないようです。いつかgccを
バージョンアップしたなら再度挑戦してみたいと思います。
2008.01.20 追記
アセンブラのソース(2本)を修正してgcc-2.95.1+gas-2.9.5でも
「--target=generic-linux」指定無しでビルドに成功しました。
修正は以下の通りです。pld命令(プリロード)はコメントアウト、
.elseifマクロは.if-.endifに書き換えという方針で。
*** ./libmpeg2/motion_comp_arm_s.S.ORG Sat Jan 19 10:29:01 2008 --- ./libmpeg2/motion_comp_arm_s.S Sat Jan 19 10:44:40 2008 *************** *** 25,31 **** .global MC_put_o_16_arm MC_put_o_16_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! pld [r1] stmfd sp!, {r4-r11, lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_o_16_arm_align_jt --- 25,31 ---- .global MC_put_o_16_arm MC_put_o_16_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! @ pld [r1] stmfd sp!, {r4-r11, lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_o_16_arm_align_jt *************** *** 35,41 **** MC_put_o_16_arm_align0: ldmia r1, {r4-r7} add r1, r1, r2 ! pld [r1] stmia r0, {r4-r7} subs r3, r3, #1 add r0, r0, r2 --- 35,41 ---- MC_put_o_16_arm_align0: ldmia r1, {r4-r7} add r1, r1, r2 ! @ pld [r1] stmia r0, {r4-r7} subs r3, r3, #1 add r0, r0, r2 *************** *** 46,52 **** ldmia r1, {r4-r8} add r1, r1, r2 mov r9, r4, lsr #(\shift) ! pld [r1] mov r10, r5, lsr #(\shift) orr r9, r9, r5, lsl #(32-\shift) mov r11, r6, lsr #(\shift) --- 46,52 ---- ldmia r1, {r4-r8} add r1, r1, r2 mov r9, r4, lsr #(\shift) ! @ pld [r1] mov r10, r5, lsr #(\shift) orr r9, r9, r5, lsl #(32-\shift) mov r11, r6, lsr #(\shift) *************** *** 85,91 **** .global MC_put_o_8_arm MC_put_o_8_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! pld [r1] stmfd sp!, {r4-r10, lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_o_8_arm_align_jt --- 85,91 ---- .global MC_put_o_8_arm MC_put_o_8_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! @ pld [r1] stmfd sp!, {r4-r10, lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_o_8_arm_align_jt *************** *** 94,100 **** MC_put_o_8_arm_align0: ldmia r1, {r4-r5} add r1, r1, r2 ! pld [r1] stmia r0, {r4-r5} add r0, r0, r2 subs r3, r3, #1 --- 94,100 ---- MC_put_o_8_arm_align0: ldmia r1, {r4-r5} add r1, r1, r2 ! @ pld [r1] stmia r0, {r4-r5} add r0, r0, r2 subs r3, r3, #1 *************** *** 105,111 **** ldmia r1, {r4-r6} add r1, r1, r2 mov r9, r4, lsr #(\shift) ! pld [r1] mov r10, r5, lsr #(\shift) orr r9, r9, r5, lsl #(32-\shift) orr r10, r10, r6, lsl #(32-\shift) --- 105,111 ---- ldmia r1, {r4-r6} add r1, r1, r2 mov r9, r4, lsr #(\shift) ! @ pld [r1] mov r10, r5, lsr #(\shift) orr r9, r9, r5, lsl #(32-\shift) orr r10, r10, r6, lsl #(32-\shift) *************** *** 154,160 **** .global MC_put_x_16_arm MC_put_x_16_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_x_16_arm_align_jt --- 154,160 ---- .global MC_put_x_16_arm MC_put_x_16_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! @ pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_x_16_arm_align_jt *************** *** 179,185 **** MC_put_x_16_arm_align0: ldmia r1, {r4-r8} add r1, r1, r2 ! pld [r1] AVG_PW r7, r8 AVG_PW r6, r7 AVG_PW r5, r6 --- 179,185 ---- MC_put_x_16_arm_align0: ldmia r1, {r4-r8} add r1, r1, r2 ! @ pld [r1] AVG_PW r7, r8 AVG_PW r6, r7 AVG_PW r5, r6 *************** *** 193,199 **** and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r8} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_QW 8, r4, r5, r6, r7, r8 AVG_PW r7, r8 AVG_PW r6, r7 --- 193,199 ---- and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r8} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_QW 8, r4, r5, r6, r7, r8 AVG_PW r7, r8 AVG_PW r6, r7 *************** *** 208,214 **** and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r8} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_QW 16, r4, r5, r6, r7, r8 AVG_PW r7, r8 AVG_PW r6, r7 --- 208,214 ---- and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r8} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_QW 16, r4, r5, r6, r7, r8 AVG_PW r7, r8 AVG_PW r6, r7 *************** *** 223,229 **** and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r8} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_QW 24, r4, r5, r6, r7, r8 AVG_PW r7, r8 AVG_PW r6, r7 --- 223,229 ---- and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r8} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_QW 24, r4, r5, r6, r7, r8 AVG_PW r7, r8 AVG_PW r6, r7 *************** *** 246,252 **** .global MC_put_x_8_arm MC_put_x_8_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_x_8_arm_align_jt --- 246,252 ---- .global MC_put_x_8_arm MC_put_x_8_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) ! @ pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_x_8_arm_align_jt *************** *** 267,273 **** MC_put_x_8_arm_align0: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] AVG_PW r5, r6 AVG_PW r4, r5 stmia r0, {r5-r6} --- 267,273 ---- MC_put_x_8_arm_align0: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] AVG_PW r5, r6 AVG_PW r4, r5 stmia r0, {r5-r6} *************** *** 279,285 **** and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DW 8, r4, r5, r6 AVG_PW r5, r6 AVG_PW r4, r5 --- 279,285 ---- and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DW 8, r4, r5, r6 AVG_PW r5, r6 AVG_PW r4, r5 *************** *** 292,298 **** and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DW 16, r4, r5, r6 AVG_PW r5, r6 AVG_PW r4, r5 --- 292,298 ---- and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DW 16, r4, r5, r6 AVG_PW r5, r6 AVG_PW r4, r5 *************** *** 305,311 **** and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DW 24, r4, r5, r6 AVG_PW r5, r6 AVG_PW r4, r5 --- 305,311 ---- and r1, r1, #0xFFFFFFFC 1: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DW 24, r4, r5, r6 AVG_PW r5, r6 AVG_PW r4, r5 *** ./libavcodec/armv4l/dsputil_arm_s.S.ORG Fri Jan 18 17:04:25 2008 --- ./libavcodec/armv4l/dsputil_arm_s.S Sun Jan 20 12:17:56 2008 *************** *** 76,82 **** put_pixels16_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r11, lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 --- 76,82 ---- put_pixels16_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r11, lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 *************** *** 87,93 **** ldmia r1, {r4-r7} add r1, r1, r2 stmia r0, {r4-r7} ! pld [r1] subs r3, r3, #1 add r0, r0, r2 bne 1b --- 87,93 ---- ldmia r1, {r4-r7} add r1, r1, r2 stmia r0, {r4-r7} ! @ pld [r1] subs r3, r3, #1 add r0, r0, r2 bne 1b *************** *** 97,103 **** ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 1, r9, r10, r11, r12, r4, r5, r6, r7, r8 ! pld [r1] subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 --- 97,103 ---- ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 1, r9, r10, r11, r12, r4, r5, r6, r7, r8 ! @ pld [r1] subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 *************** *** 108,114 **** ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 2, r9, r10, r11, r12, r4, r5, r6, r7, r8 ! pld [r1] subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 --- 108,114 ---- ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 2, r9, r10, r11, r12, r4, r5, r6, r7, r8 ! @ pld [r1] subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 *************** *** 119,125 **** ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 3, r9, r10, r11, r12, r4, r5, r6, r7, r8 ! pld [r1] subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 --- 119,125 ---- ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 3, r9, r10, r11, r12, r4, r5, r6, r7, r8 ! @ pld [r1] subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 *************** *** 138,144 **** put_pixels8_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r5,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 --- 138,144 ---- put_pixels8_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r5,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 *************** *** 149,155 **** ldmia r1, {r4-r5} add r1, r1, r2 subs r3, r3, #1 ! pld [r1] stmia r0, {r4-r5} add r0, r0, r2 bne 1b --- 149,155 ---- ldmia r1, {r4-r5} add r1, r1, r2 subs r3, r3, #1 ! @ pld [r1] stmia r0, {r4-r5} add r0, r0, r2 bne 1b *************** *** 159,165 **** ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r12 ! pld [r1] subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 --- 159,165 ---- ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r12 ! @ pld [r1] subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 *************** *** 170,176 **** ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r12 ! pld [r1] subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 --- 170,176 ---- ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r12 ! @ pld [r1] subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 *************** *** 181,187 **** ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r12 ! pld [r1] subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 --- 181,187 ---- ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r12 ! @ pld [r1] subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 *************** *** 200,206 **** put_pixels8_x2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r10,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 --- 200,206 ---- put_pixels8_x2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r10,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 *************** *** 212,218 **** ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ! pld [r1] RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 stmia r0, {r8-r9} --- 212,218 ---- ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ! @ pld [r1] RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 stmia r0, {r8-r9} *************** *** 225,231 **** add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r8, r9, r4, r5, r10 ! pld [r1] RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} --- 225,231 ---- add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r8, r9, r4, r5, r10 ! @ pld [r1] RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} *************** *** 238,244 **** add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r8, r9, r4, r5, r10 ! pld [r1] RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} --- 238,244 ---- add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r8, r9, r4, r5, r10 ! @ pld [r1] RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} *************** *** 250,256 **** ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 ! pld [r1] RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 stmia r0, {r8-r9} --- 250,256 ---- ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 ! @ pld [r1] RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 stmia r0, {r8-r9} *************** *** 269,275 **** put_no_rnd_pixels8_x2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r10,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 --- 269,275 ---- put_no_rnd_pixels8_x2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r10,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 *************** *** 281,287 **** ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ! pld [r1] NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 stmia r0, {r8-r9} --- 281,287 ---- ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ! @ pld [r1] NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 stmia r0, {r8-r9} *************** *** 294,300 **** add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r8, r9, r4, r5, r10 ! pld [r1] NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} --- 294,300 ---- add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r8, r9, r4, r5, r10 ! @ pld [r1] NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} *************** *** 307,313 **** add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r8, r9, r4, r5, r10 ! pld [r1] NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} --- 307,313 ---- add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r8, r9, r4, r5, r10 ! @ pld [r1] NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} *************** *** 319,325 **** ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 ! pld [r1] NO_RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 stmia r0, {r8-r9} --- 319,325 ---- ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 ! @ pld [r1] NO_RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 stmia r0, {r8-r9} *************** *** 340,346 **** put_pixels8_y2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 --- 340,346 ---- put_pixels8_y2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 *************** *** 354,366 **** add r1, r1, r2 6: ldmia r1, {r6-r7} add r1, r1, r2 ! pld [r1] RND_AVG32 r8, r9, r4, r5, r6, r7, r12 ldmia r1, {r4-r5} add r1, r1, r2 stmia r0, {r8-r9} add r0, r0, r2 ! pld [r1] RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 stmia r0, {r8-r9} --- 354,366 ---- add r1, r1, r2 6: ldmia r1, {r6-r7} add r1, r1, r2 ! @ pld [r1] RND_AVG32 r8, r9, r4, r5, r6, r7, r12 ldmia r1, {r4-r5} add r1, r1, r2 stmia r0, {r8-r9} add r0, r0, r2 ! @ pld [r1] RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 stmia r0, {r8-r9} *************** *** 371,388 **** 2: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 --- 371,388 ---- 2: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 *************** *** 394,411 **** 3: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 --- 394,411 ---- 3: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 *************** *** 417,434 **** 4: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 --- 417,434 ---- 4: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 *************** *** 449,455 **** put_no_rnd_pixels8_y2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 --- 449,455 ---- put_no_rnd_pixels8_y2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adr r5, 5f ands r4, r1, #3 *************** *** 463,475 **** add r1, r1, r2 6: ldmia r1, {r6-r7} add r1, r1, r2 ! pld [r1] NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 ldmia r1, {r4-r5} add r1, r1, r2 stmia r0, {r8-r9} add r0, r0, r2 ! pld [r1] NO_RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 stmia r0, {r8-r9} --- 463,475 ---- add r1, r1, r2 6: ldmia r1, {r6-r7} add r1, r1, r2 ! @ pld [r1] NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 ldmia r1, {r4-r5} add r1, r1, r2 stmia r0, {r8-r9} add r0, r0, r2 ! @ pld [r1] NO_RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 stmia r0, {r8-r9} *************** *** 480,497 **** 2: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 --- 480,497 ---- 2: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 *************** *** 503,520 **** 3: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 --- 503,520 ---- 3: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 *************** *** 526,543 **** 4: ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 --- 526,543 ---- 4: ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 ! @ pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 *************** *** 556,581 **** .macro RND_XY2_IT align @ l1= (a & 0x03030303) + (b & 0x03030303) ?(+ 0x02020202) @ h1= ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2) .if \align == 0 ldmia r1, {r6-r8} ! .elseif \align == 3 ldmia r1, {r5-r7} .else ldmia r1, {r8-r10} .endif add r1, r1, r2 ! pld [r1] .if \align == 0 ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r6, r7, r8 ! .elseif \align == 1 ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r8, r9, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r8, r9, r10 ! .elseif \align == 2 ADJ_ALIGN_DOUBLEWORD_D 2, r4, r5, r8, r9, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r8, r9, r10 ! .elseif \align == 3 ADJ_ALIGN_DOUBLEWORD_D 3, r4, r5, r5, r6, r7 .endif ldr r14, [r12, #0] @ 0x03030303 tst r3, #1 and r8, r4, r14 --- 556,613 ---- .macro RND_XY2_IT align @ l1= (a & 0x03030303) + (b & 0x03030303) ?(+ 0x02020202) @ h1= ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2) + @ ------------------------------- + @.if \align == 0 + @ ldmia r1, {r6-r8} + @.elseif \align == 3 + @ ldmia r1, {r5-r7} + @.else + @ ldmia r1, {r8-r10} + @.endif + @ ------------------------------- .if \align == 0 ldmia r1, {r6-r8} ! .else ! .if \align == 3 ldmia r1, {r5-r7} .else ldmia r1, {r8-r10} .endif + .endif + @ ------------------------------- add r1, r1, r2 ! @ pld [r1] ! @ ------------------------------- ! @.if \align == 0 ! @ ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r6, r7, r8 ! @.elseif \align == 1 ! @ ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r8, r9, r10 ! @ ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r8, r9, r10 ! @.elseif \align == 2 ! @ ADJ_ALIGN_DOUBLEWORD_D 2, r4, r5, r8, r9, r10 ! @ ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r8, r9, r10 ! @.elseif \align == 3 ! @ ADJ_ALIGN_DOUBLEWORD_D 3, r4, r5, r5, r6, r7 ! @.endif ! @ ------------------------------- .if \align == 0 ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r6, r7, r8 ! .else ! .if \align == 1 ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r8, r9, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r8, r9, r10 ! .else ! .if \align == 2 ADJ_ALIGN_DOUBLEWORD_D 2, r4, r5, r8, r9, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r8, r9, r10 ! .else ! .if \align == 3 ADJ_ALIGN_DOUBLEWORD_D 3, r4, r5, r5, r6, r7 .endif + .endif + .endif + .endif + @ ------------------------------- ldr r14, [r12, #0] @ 0x03030303 tst r3, #1 and r8, r4, r14 *************** *** 622,628 **** put_pixels8_xy2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adrl r12, 5f ands r4, r1, #3 --- 654,660 ---- put_pixels8_xy2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adrl r12, 5f ands r4, r1, #3 *************** *** 658,664 **** put_no_rnd_pixels8_xy2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adrl r12, 5f ands r4, r1, #3 --- 690,696 ---- put_no_rnd_pixels8_xy2_arm: @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned ! @ pld [r1] stmfd sp!, {r4-r11,lr} @ R14 is also called LR adrl r12, 5f ands r4, r1, #3
*** ./ext/Errno/Errno_pm.PL.ORG Mon Jan 7 12:43:52 2008 --- ./ext/Errno/Errno_pm.PL Mon Jan 7 13:13:26 2008 *************** *** 101,107 **** } elsif ($^O eq 'linux') { # Some Linuxes have weird errno.hs which generate # no #file or #line directives ! $file{'/usr/include/errno.h'} = 1; } elsif ($^O eq 'MacOS') { # note that we are only getting the GUSI errno's here ... # we might miss out on compiler-specific ones --- 101,108 ---- } elsif ($^O eq 'linux') { # Some Linuxes have weird errno.hs which generate # no #file or #line directives ! # $file{'/usr/include/errno.h'} = 1; ! $file{'/usr/local/include/errno.h'} = 1; # for zaurus dev_img } elsif ($^O eq 'MacOS') { # note that we are only getting the GUSI errno's here ... # we might miss out on compiler-specific ones
. $topsrcdir/browser/config/mozconfig ac_add_options --disable-debug ac_add_options --enable-optimize ac_add_options --enable-default-toolkit=gtk ac_add_options --disable-xft ac_add_options --disable-freetype2ビルドは以下のように実行。
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/usr/local/X11R6/lib \ -L/opt/QtPalmtop/lib" \ make -f client.mk buildその後のインストールは通常の手順通り。
2008.02.18 追記
アンチエイリアス機能をOFFにすれば少しでも軽快になるかと思い、
URL欄にabout:configを入力し、font.scale.aa_bitmap.enableの値をfalseに
設定した。アンチエイリアスはOFFになったけれども、<H?>〜</H?>
に応じたタイトル表示の変化がしなくなった。また軽快感についてもビミョウな感じ...。
CPPFLAGS="-I/usr/local/include \ -I/usr/local/ssl/include \ -I/usr/local/canna/include \ -I/usr/local/X11R6/include \ -I/usr/local/X11R6/include/freetype2 \ -I/opt/QtPalmtop/include" \ LDFLAGS="-L/usr/local/lib \ -L/usr/local/ssl/lib \ -L/usr/local/canna/lib \ -L/usr/local/X11R6/lib \ -L/opt/QtPalmtop/lib" \ ./configure \ --prefix=/usr/local \ --x-includes=/usr/local/X11R6/include \ --x-libraries=/opt/QtPalmtop/lib \ --enable-shared \ --enable-static \ --enable-gtk1 \ --disable-gtk2 \ --with-gecko-sdk=/gecko-sdkへのパス make cp *.so /firefoxインストールディレクトリ/plugins/ cp *.xpt /firefoxインストールディレクトリ/components/
*** ./src/play-sample.cc.ORG Fri Jan 25 12:15:00 2008 --- ./src/play-sample.cc Fri Jan 25 12:15:47 2008 *************** *** 189,195 **** char * home, * home_env = getenv("HOME"); home = new char[strlen(home_env) + 50]; ! strcpy(home, "/etc/soundrecorder.conf"); RCfile rc(home, false); strcpy(home, home_env); --- 189,195 ---- char * home, * home_env = getenv("HOME"); home = new char[strlen(home_env) + 50]; ! strcpy(home, "/usr/local/etc/soundrecorder.conf"); RCfile rc(home, false); strcpy(home, home_env); *** ./src/record.cc.ORG Fri Jan 25 12:16:05 2008 --- ./src/record.cc Fri Jan 25 12:16:31 2008 *************** *** 541,547 **** char * home, * home_env = getenv("HOME"); home = new char[strlen(home_env) + 50]; ! strcpy(home, "/etc/soundrecorder.conf"); RCfile rc(home, false); strcpy(home, home_env); --- 541,547 ---- char * home, * home_env = getenv("HOME"); home = new char[strlen(home_env) + 50]; ! strcpy(home, "/usr/local/etc/soundrecorder.conf"); RCfile rc(home, false); strcpy(home, home_env); *** ./Makefile.ORG Fri Jan 25 12:11:05 2008 --- ./Makefile Fri Jan 25 12:12:42 2008 *************** *** 9,15 **** install: $(foreach dir,$(dirs),cd $(dir); make install; cd ..;) ! $(INSTALL) -m 644 -g root -o root soundrecorder.conf /etc clean: $(foreach dir,$(dirs),cd $(dir); make clean; cd ..;) --- 9,15 ---- install: $(foreach dir,$(dirs),cd $(dir); make install; cd ..;) ! $(INSTALL) -m 644 -g root -o root soundrecorder.conf /usr/local/etc clean: $(foreach dir,$(dirs),cd $(dir); make clean; cd ..;) *** ./Makefile.Rules.ORG Fri Jan 25 12:13:43 2008 --- ./Makefile.Rules Fri Jan 25 12:21:59 2008 *************** *** 1,8 **** # $Id: 20070908_sl-6000_zaurus.html,v 1.40 2016/03/23 16:00:11 m-ito Exp $ ! BUILDDATE := $(shell date +'%b %d %Y') ! VERSION = 0.06 (Build on $(BUILDDATE)) VERSION_LONG = $(VERSION), GPL 2 (see COPYRIGHTS) FLAGS = -D_REENTRANT -g -Wall -O2 -DVERSION='"$(VERSION)"' LIBS = -lpthread --- 1,8 ---- # $Id: 20070908_sl-6000_zaurus.html,v 1.40 2016/03/23 16:00:11 m-ito Exp $ ! BUILDDATE := $(shell date +'%b_%d_%Y'|tr -d ' ') ! VERSION = 0.06_(Build_on_$(BUILDDATE)) VERSION_LONG = $(VERSION), GPL 2 (see COPYRIGHTS) FLAGS = -D_REENTRANT -g -Wall -O2 -DVERSION='"$(VERSION)"' LIBS = -lpthread
*** ./src/amr-wb.c.ORG Fri Jan 25 20:46:39 2008 --- ./src/amr-wb.c Fri Jan 25 20:48:48 2008 *************** *** 35,38 **** --- 35,40 ---- #define AMR_NAMES "amr-wb", "awb" #define AMR_PRIV_TOO_BIG amr_wb_PRIVSIZE_too_big #define AMR_RATE 16000 + #if 0 #include "amr.h" + #endif *** ./src/amr-nb.c.ORG Fri Jan 25 20:50:07 2008 --- ./src/amr-nb.c Fri Jan 25 20:50:46 2008 *************** *** 52,55 **** --- 52,57 ---- #define E_IF_exit Encoder_Interface_exit #define E_IF_init() Encoder_Interface_init(1) static unsigned block_size[] = {13,14,16,18,20,21,27,32,6,1,1,1,1,1,1,1}; + #if 0 #include "amr.h" + #endif *** ./configure.ORG Fri Jan 25 19:29:03 2008 --- ./configure Fri Jan 25 19:50:54 2008 *************** *** 3427,3439 **** CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then ! CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then ! CFLAGS="-O2" else CFLAGS= fi --- 3427,3441 ---- CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then ! # CFLAGS="-g -O2" ! CFLAGS="-g" else CFLAGS="-g" fi else if test "$GCC" = yes; then ! # CFLAGS="-O2" ! CFLAGS="" else CFLAGS= fi *************** *** 5904,5916 **** CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then ! CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then ! CXXFLAGS="-O2" else CXXFLAGS= fi --- 5906,5920 ---- CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then ! # CXXFLAGS="-g -O2" ! CXXFLAGS="-g" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then ! # CXXFLAGS="-O2" ! CXXFLAGS="" else CXXFLAGS= fi *************** *** 6504,6516 **** FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then ! FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then ! FFLAGS="-O2" else FFLAGS= fi --- 6508,6522 ---- FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then ! # FFLAGS="-g -O2" ! FFLAGS="-g" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then ! # FFLAGS="-O2" ! FFLAGS="" else FFLAGS= fi
*** ./Makefile.ORG Fri Jan 25 21:50:41 2008 --- ./Makefile Fri Jan 25 21:52:31 2008 *************** *** 1,8 **** ZROOT=/home/zaurus/develop CC_NATIVE=gcc ! CC=$(ZROOT)/arm/bin/arm-linux-gcc ! AS=$(ZROOT)/arm/bin/arm-v4l-linux-as ! STRIP=$(ZROOT)/arm/bin/arm-v4l-linux-strip IPKG_BUILD=./ipkg-build CFLAGS+=-Wall -O2 -fno-exceptions -g --- 1,8 ---- ZROOT=/home/zaurus/develop CC_NATIVE=gcc ! CC=gcc ! AS=as ! STRIP=strip IPKG_BUILD=./ipkg-build CFLAGS+=-Wall -O2 -fno-exceptions -g以下のコマンドでビルドします。
PATH=.:$PATH makeインストールはshineを適当なディレクトリにコピーして完了。
*** ./Makefile.ORG Sat Feb 9 12:14:46 2008 --- ./Makefile Sat Feb 9 12:16:21 2008 *************** *** 12,19 **** netdate: netdate.o install: netdate ! install -s netdate /usr/sbin/ ! install -m 0644 netdate.8 /usr/man/man8/ clean: rm -f netdate *~ *.o core --- 12,19 ---- netdate: netdate.o install: netdate ! install -s netdate /usr/local/sbin/ ! install -m 0644 netdate.8 /usr/local/man/man8/ clean: rm -f netdate *~ *.o coreそして、make; make install。
*** ./Makefile.in.ORG Sun Feb 10 18:01:21 2008 --- ./Makefile.in Sun Feb 10 18:06:35 2008 *************** *** 172,178 **** ./install-sh -c plugger-controller $(root)$(prefix)/bin/ ./install-sh -c plugger-oohelper $(root)$(prefix)/bin/ ./install-sh -c plugger.7 $(root)$(mandir)/man7/ ! if [ ! -f $(root)/etc/pluggerrc-$(VERSION) ]; then ./install-sh -c pluggerrc $(root)/etc/pluggerrc-$(VERSION) ; fi if [ "$(plugindir)" = "UNKNOWN" ]; then \ ./magic-install.sh $(browsers) ; \ else \ --- 172,179 ---- ./install-sh -c plugger-controller $(root)$(prefix)/bin/ ./install-sh -c plugger-oohelper $(root)$(prefix)/bin/ ./install-sh -c plugger.7 $(root)$(mandir)/man7/ ! # if [ ! -f $(root)/etc/pluggerrc-$(VERSION) ]; then ./install-sh -c pluggerrc $(root)/etc/pluggerrc-$(VERSION) ; fi ! if [ ! -f $(root)$(prefix)/etc/pluggerrc-$(VERSION) ]; then ./install-sh -c pluggerrc $(root)$(prefix)/etc/pluggerrc-$(VERSION) ; fi if [ "$(plugindir)" = "UNKNOWN" ]; then \ ./magic-install.sh $(browsers) ; \ else \通常の手順でconfigure && make。その後、
cp plugger.so /firefoxのインストールディレクトリ/plugins/
tk useinputmethods 1 entry .e -font k14 pack .e