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