JPH0883174A - パッチ作成処理システム - Google Patents

パッチ作成処理システム

Info

Publication number
JPH0883174A
JPH0883174A JP21853494A JP21853494A JPH0883174A JP H0883174 A JPH0883174 A JP H0883174A JP 21853494 A JP21853494 A JP 21853494A JP 21853494 A JP21853494 A JP 21853494A JP H0883174 A JPH0883174 A JP H0883174A
Authority
JP
Japan
Prior art keywords
patch
program
area
size
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP21853494A
Other languages
English (en)
Inventor
Masayuki Yamashita
雅之 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Communication Systems Ltd
Original Assignee
NEC Communication Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Communication Systems Ltd filed Critical NEC Communication Systems Ltd
Priority to JP21853494A priority Critical patent/JPH0883174A/ja
Publication of JPH0883174A publication Critical patent/JPH0883174A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】交換システム等に用いられる実行形式のプログ
ラムの部分的修正用パッチプログラムの作成において、
パッチエリアの使用判定,アドレス管理を自動化し作業
効率を向上させる。 【構成】オブジェクト変換部30はソースプログラムフ
ァイル10のパッチソースプログラム1bを実行形式に
変換しパッチサイズPを得る。サイズ比較・判定部41
は対応する修正対象指定情報1aから修正対象サイズQ
を得、P〉Qならパッチエリアが必要と判定する。パッ
チエリアの先頭アドレスαはアドレス記憶部42に設定
され使用量に応じて更新される。パッチエリアにパッチ
プログラム6aを格納する場合はジャンプ命令生成部5
0,パッチエリアプログラム生成部60で制御往復用の
ジャンプ命令5a,6bをそれぞれ生成する。P≦Qな
ら上書きプログラム生成部70によりパッチプログラム
7aは修正対象部分に上書きされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はパッチ作成処理システム
に関し、特に交換ソフトウェア等の実行形式(マシン語
レベル)のプログラムを部分的に修正するためのパッチ
プログラムを作成するシステムに関する。
【0002】
【従来の技術】従来、パッチ作成処理システムはアセン
ブラ言語で書かれたパッチソースプログラムを読み込ん
で、そのアセンブラ命令に対応した実行形式のパッチプ
ログラムを出力していた。したがって、プログラムの修
正規模によって修正部分以外にパッチエリアが必要か否
かはプログラマが判断し、パッチプログラムの内容をパ
ッチエリアが必要ならパッチエリアへのジャンプ命令と
パッチエリア上のプログラム(戻りジャンプ命令含
む)、パッチエリアが不要なら修正部分への上書きプロ
グラムとなるように作成したものを入力していた。
【0003】
【発明が解決しようとする課題】従来のパッチ作成処理
システムは入力されたパッチソースプログラムを実行形
式に変換する処理のみを行うため、パッチエリアの要否
はあらかじめプログラマが判断してパッチプログラムの
作成方法を決める必要があり、新規プログラムを作成す
るより作業上の負担が重いという欠点がある。
【0004】又、パッチエリアの有効利用のためには、
パッチエリアをすき間なく無駄なく使用すべきだが、パ
ッチエリアの使用量(アドレス領域)はパッチ作成処理
システムが実行形式のパッチプログラムを出力して初め
て確定する(人手で算出するのは困難であり正確さに欠
ける)性格のものであり、数多くのパッチを処理する
際、1件1件逐次的に行う必要があるのでパッチ作成処
理システムの利用効率が低いという欠点がある。
【0005】
【課題を解決するための手段】本発明のパッチ作成処理
システムは、実行形式の修正対象のプログラムを部分的
に修正するためのパッチプログラムを複数まとめて作成
するパッチ作成処理システムにおいて、前記パッチプロ
グラムごとのソースプログラムを実行形式のプログラム
に変換しそのアドレスサイズをパッチサイズとして算出
する手段と、前記パッチプログラムにそれぞれ対応する
前記修正対象のプログラムの修正対象部分のアドレス範
囲を指定する修正対象指定情報を入力する手段と、前記
パッチプログラムごとに前記修正対象指定情報から得ら
れる修正対象サイズと前記パッチサイズとを比較し、前
記パッチサイズが前記修正対象サイズを越える場合に前
記修正対象部分以外のパッチプログラム格納領域として
パッチエリアが必要であると判定する手段と、前記パッ
チエリアの先頭アドレス情報をあらかじめ登録する手段
と、前記パッチエリアに実行形式に変換されたパッチプ
ログラムを格納する場合に、前記修正対象指定情報及び
登録された前記先頭アドレス情報に基づいて前記修正対
象部分から前記パッチエリアへ制御を移す第1のジャン
プ命令及び前記パッチエリアから前記修正対象部分の後
続部分へ制御を戻す第2のジャンプ命令を生成する手段
と、前記パッチエリアが前記パッチプログラムの格納に
使用された場合に、登録された前記先頭アドレス情報を
その使用サイズ分だけ加算して再登録する手段とを備え
ている。
【0006】また、上記構成において、前記パッチプロ
グラムの格納用に前記パッチエリアを使用する場合に、
前記修正対象部分の先頭に前記第1のジャンプ命令を設
定し残り部分があれば空命令を設定する手段及び前記パ
ッチエリアの先頭から前記パッチプログラムを設定しこ
れに続けて前記第2のジャンプ命令を設定する手段と、
前記パッチプログラムの格納用に前記パッチエリアを使
用しない場合に、前記修正対象部分の先頭から前記パッ
チプログラムを設定し残り部分があればその間を飛越す
るジャンプ命令を含む空命令を設定する手段とを含む構
成とすることができる。
【0007】
【実施例】次に本発明を図面を参照して説明する。
【0008】図1は本発明の一実施例のブロック構成図
である。本実施例のパッチ作成処理システムは、コンピ
ュータシステムを用いて構成されており、交換機制御用
ソフトウェアである修正対象プログラム(実行形式)の
修正対象部分ごとのアドレス範囲を指定する修正対象指
定情報1a及びその修正用プログラムであるパッチソー
スプログラム1bなどのパッチプログラム作成に必要な
情報(パッチ情報)を記述したソースプログラムファイ
ル10と、ソースプログラムファイル10を入力しパッ
チ情報の読出しを行うパッチ情報入力部20と、読出さ
れたパッチソースプログラム1bを所定のルールに基づ
き翻訳し実行形式のオブジェクトプログラム3bとして
出力するとともにそのアドレスサイズ(パッチサイズ)
を算出するオブジェクト変換部30と、読出された修正
対象指定情報1aから修正対象プログラムの修正を受け
るべきアドレスサイズ(修正対象サイズ)を求めオブジ
ェクト変換部30からの修正に要するアドレスサイズ
(パッチサイズ)と比較し修正対象部分以外のパッチエ
リアが必要か否かを判定するサイズ比較・判定部41,
パッチエリアの使用ごとの先頭アドレスを保持するアド
レス記憶部42,及びその先頭アドレスを更新するアド
レス加算部43を有するパッチエリア管理部40と、パ
ッチエリアの先頭アドレスを入力しアドレス記憶部42
に格納させるアドレス入力部45と、修正対象部分から
パッチエリアへ制御を渡すためのジャンプ命令5a及び
修正対象部分の残りを埋めるNOP命令(命令アドレス
の歩進のみを行う命令:空命令)5bを生成するジャン
プ命令生成部50と、オブジェク変換部30からの出力
オブジェクトプログラム3bをパッチエリアのパッチプ
ログラム6aとしパッチエリアから修正対象部分の次に
制御を戻すための戻りジャンプ命令6bを生成するパッ
チエリアプログラム生成部60と、修正対象部分にオブ
ジェクトプログラム3bをパッチプログラム7aとして
上書きし残りエリアを埋めるNOP命令7bを生成する
上書きプログラム生成部70と、ジャンプ命令生成部5
0,パッチエリアプログラム生成部60及び上書きプロ
グラム生成部70からの各パッチプログラムを集成し出
力オブジェクトファイル90として出力する出力合成部
80とを備えている。
【0009】次に、図1とともに、動作フローを示す図
2、パッチエリアを使用しない場合のパッチプログラム
の構成を示す図3、及びパッチエリアを使用する場合の
パッチプログラムの構成を示す図4を参照して動作を説
明する。
【0010】あらかじめ他のソフトウェア作成システム
(図示せず)を用いて、修正対象の実行形式(オブジェ
クト)プログラムの修正部分1件分の、先頭(最若番)
のアドレスHAと末尾(最老番)のアドレスTAを指定
した修正対象指定情報1aと、その修正内容を所定のソ
フトウェア言語で記述したパッチソースプログラム1b
とのパッチ情報を作成し、必要な修正件数分だけこれを
繰返しソースプログラムファイル10を作成しておく。
【0011】まず、修正対象プログラムの使用済アドレ
ス領域以外にパッチプログラムを格納するための連続し
たアドレス領域(パッチエリア)を決定し、その先頭ア
ドレスαをアドレス入力部45を介してパッチエリア管
理部40のアドレス記憶部42に設定する(ステップS
110)。
【0012】次に、パッチ情報入力部20によりソース
プログラムファイル10から1件分のパッチ情報を読出
し(ステップS120)、オブジェクト変換部30でパ
ッチソースプログラム1bを翻訳し実行形式のオブジェ
クトプログラム3bに変換するとともにパッチサイズP
を算出する(ステップS130)、パッチエリア管理部
40のサイズ比較・判定部41で修正対象指定情報1a
から修正対象サイズQ(末尾アドレスTA−先頭アドレ
スHA+1)を算出し、オブジェクトプログラム3bか
らのパッチサイズPと比較しパッチエリアの要否を判定
する(ステップS140)。なお、あらかじめ修正対象
指定情報1aに修正対象サイズQを含ませておくことも
できる。
【0013】パッチサイズPが修正対象サイズQを越え
ない場合は、図3に示すようにパッチエリアを必要とせ
ず、パッチエリア管理部40は上書きプログラム生成部
70を起動しアドレス情報(HA)、サイズ情報(P,
Q)を送出する。上書きプログラム生成部70はオブジ
ェクトプログラム3bを修正対象部分の先頭アドレス
(HA)から対応させてパッチプログラム7aとし、残
りのアドレス部分(残りエリア)があればNOP命令7
bを必要な数だけ生成し残りエリアを埋める(ステップ
S200)。なお、残りエリアのサイズが大きくNOP
命令を所定数以上使用しなければならない場合は、残り
エリアの先頭部分に残りエリアを飛越させるジャンプ命
令を生成,設定することができる。これにより修正され
た修正対象プログラムを、交換機で実行させる場合に、
残りエリアのNOP命令7bによる無駄な実行時間を削
減することができる。
【0014】一方、ステップS140において、パッチ
サイズPが修正対象サイズQを越える場合は図4に示す
ようにパッチエリアを必要とし、パッチエリア管理部4
0はジャンプ命令生成部50及びパッチエリアプログラ
ム生成部60を起動しアドレス情報(HA,α),サイ
ズ情報(P,Q)を送出する。ジャンプ命令生成部50
は修正対象部分の先頭アドレス(HA)にパッチエリア
の先頭アドレス(α)へのジャンプ命令5aを生成し、
残りのアドレス部分があれば必要数のNOP命令5bを
生成する(ステップS150)。パッチエリアプログラ
ム生成部60はオブジェクトプログラム3bをパッチエ
リアの先頭アドレス(α)から対応させてパッチプログ
ラム6aとし、その後ろに修正対象部分の次のアドレス
(TA+1=HA+Q)へのジャンプ命令6bを生成す
る(ステップS160)。アドレス加算部43はアドレ
ス記憶部42に設定されたパッチエリアの先頭アドレス
(α)をパッチエリアの使用サイズ(β=パッチプログ
ラム6aのサイズP+ジャンプ命令6bのサイズj、
(例えばj=3バイト))分だけ加算して次回のパッチ
エリア使用時の先頭アドレスを求めアドレス記憶部42
に再設定させる(ステップS170)。すなわち、1回
目のパッチエリア使用時の先頭アドレスをα1(アドレ
ス入力部45からの入力値α)とし使用サイズをβ1と
すると2回目の先頭アドレスα2はα1+β1となり、
2回目の使用サイズをβ2とすると3回目の先頭アドレ
スα3はα2+β2となる(以下同様)。これらの先頭
アドレスα1〜αnの記憶形式としてはアドレス記憶部
42の同一記憶エリアに上書きするようにすることもで
きるが、本実施例においてはテーブル形式としパッチエ
リア使用ごとに異なる記憶エリアを使用するものとす
る。テーブル形式とすることによりその内容を印字出力
してパッチエリアの使用状況を容易に確認できる。
【0015】出力合成部80はジャンプ命令生成部50
及びパッチエリアプログラム生成部60,あるいは上書
きプログラム生成部70の出力をパッチプログラムとし
て出力オブジェクトプログラムファイル90に書込む
(ステップS300)。上記ステップS120からS3
00までの処理をソースプログラムファイル10で指定
されるすべての修正対象指定情報1a及びパッチソース
プログラム1bの組合せ(パッチ情報)について繰返し
行う(ステップS310)。
【0016】なお、本例においてはパッチエリアを使用
する場合、パッチプログラムをパッチエリアのみに設定
するようにしたが、修正対象部分とパッチエリアとに分
割して設定することもできる。この場合パッチエリアへ
のジャンプ命令は修正対象部分の先頭ではなく、分割さ
れたパッチプログラムの次に設けられる。これによりパ
ッチエリアの使用サイズを小さくすることができる。
【0017】
【発明の効果】以上説明したように本発明のパッチ作成
処理システムは、パッチプログラムのパッチサイズを算
出し、修正対象プログラムの修正対象サイズと比較しパ
ッチエリアの要否を判定し、修正対象部分とパッチエリ
ア間の制御引渡しのジャンプ命令を生成するので、パッ
チプログラムのソースプログラム作成時に、新規プログ
ラム作成と同様にパッチエリアを意識せずに作成するこ
とが可能となり、パッチ作成作業の生産性低下を防ぐ効
果がある。
【0018】また、パッチエリアの先頭アドレスを使用
サイズに応じて更新することにより、複数のパッチプロ
グラムに対しパッチエリアを重複することなくかつ無駄
なく使用することができ、複数のパッチプログラムを連
続して一括して処理することが可能となり、パッチ作成
処理システムの使用効率が向上するという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック構成図である。
【図2】本発明の動作フローを示す図である。
【図3】パッチエリアを使用しない場合のパッチプログ
ラムの構成を示す図である。
【図4】パッチエリアを使用する場合のパッチプログラ
ムの構成を示す図である。
【符号の説明】
10 ソースプログラムファイル 20 パッチ情報入力部 30 オブジェクト変換部 40 パッチエリア管理部 41 サイズ比較・判定部 42 アドレス記憶部 43 アドレス加算部 45 アドレス入力部 50 ジャンプ命令生成部 60 パッチエリアプログラム生成部 70 上書きプログラム生成部 80 出力合成部 90 出力オブジェクトファイル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 実行形式の修正対象のプログラムを部分
    的に修正するためのパッチプログラムを複数まとめて作
    成するパッチ作成処理システムにおいて、 前記パッチプログラムごとのソースプログラムを実行形
    式のプログラムに変換しそのアドレスサイズをパッチサ
    イズとして算出する手段と、 前記パッチプログラムにそれぞれ対応する前記修正対象
    のプログラムの修正対象部分のアドレス範囲を指定する
    修正対象指定情報を入力する手段と、 前記パッチプログラムごとに前記修正対象指定情報から
    得られる修正対象サイズと前記パッチサイズとを比較
    し、前記パッチサイズが前記修正対象サイズを越える場
    合に前記修正対象部分以外のパッチプログラム格納領域
    としてパッチエリアが必要であると判定する手段と、 前記パッチエリアの先頭アドレス情報をあらかじめ登録
    する手段と、 前記パッチエリアに実行形式に変換されたパッチプログ
    ラムを格納する場合に、前記修正対象指定情報及び登録
    された前記先頭アドレス情報に基づいて前記修正対象部
    分から前記パッチエリアへ制御を移す第1のジャンプ命
    令及び前記パッチエリアから前記修正対象部分の後続部
    分へ制御を戻す第2のジャンプ命令を生成する手段と、 前記パッチエリアが前記パッチプログラムの格納に使用
    された場合に、登録された前記先頭アドレス情報をその
    使用サイズ分だけ加算して再登録する手段と、を備える
    ことを特徴とするパッチ作成処理システム。
  2. 【請求項2】 前記パッチプログラムの格納用に前記パ
    ッチエリアを使用する場合に、前記修正対象部分の先頭
    に前記第1のジャンプ命令を設定し残り部分があれば空
    命令を設定する手段及び前記パッチエリアの先頭から前
    記パッチプログラムを設定しこれに続けて前記第2のジ
    ャンプ命令を設定する手段と、前記パッチプログラムの
    格納用に前記パッチエリアを使用しない場合に、前記修
    正対象部分の先頭から前記パッチプログラムを設定し残
    り部分があればその間を飛越するジャンプ命令を含む空
    命令を設定する手段とを含むことを特徴とする請求項1
    記載のパッチ作成処理システム。
JP21853494A 1994-09-13 1994-09-13 パッチ作成処理システム Pending JPH0883174A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21853494A JPH0883174A (ja) 1994-09-13 1994-09-13 パッチ作成処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21853494A JPH0883174A (ja) 1994-09-13 1994-09-13 パッチ作成処理システム

Publications (1)

Publication Number Publication Date
JPH0883174A true JPH0883174A (ja) 1996-03-26

Family

ID=16721440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21853494A Pending JPH0883174A (ja) 1994-09-13 1994-09-13 パッチ作成処理システム

Country Status (1)

Country Link
JP (1) JPH0883174A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193446A (ja) * 2008-02-15 2009-08-27 Nec Computertechno Ltd 情報処理装置、情報処理装置におけるエミュレーション方法及びエミュレーションプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201150A (ja) * 1983-04-28 1984-11-14 Omron Tateisi Electronics Co デバツグ装置
JPS60126732A (ja) * 1983-12-13 1985-07-06 Fujitsu Ltd インサートパッチ処理方法
JPS62274340A (ja) * 1986-05-23 1987-11-28 Hitachi Ltd プログラムの変位決定方式
JPH06337780A (ja) * 1993-05-28 1994-12-06 Toshiba Corp ロードモジュールのパッチ修正装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201150A (ja) * 1983-04-28 1984-11-14 Omron Tateisi Electronics Co デバツグ装置
JPS60126732A (ja) * 1983-12-13 1985-07-06 Fujitsu Ltd インサートパッチ処理方法
JPS62274340A (ja) * 1986-05-23 1987-11-28 Hitachi Ltd プログラムの変位決定方式
JPH06337780A (ja) * 1993-05-28 1994-12-06 Toshiba Corp ロードモジュールのパッチ修正装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193446A (ja) * 2008-02-15 2009-08-27 Nec Computertechno Ltd 情報処理装置、情報処理装置におけるエミュレーション方法及びエミュレーションプログラム

Similar Documents

Publication Publication Date Title
JP2004295731A (ja) バッチジョブ管理システム及びバッチジョブ管理プログラム
JPH0883174A (ja) パッチ作成処理システム
US5765148A (en) Database processing apparatus and database processing method for variable length objects, and computer-readable memory medium for storing database processing program
JPH05334102A (ja) ジョブ実行状況予測装置
JP5021584B2 (ja) マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体
US6085264A (en) Accounting-information outputting device
JPH06214803A (ja) 仮想空間ブロック配置方式
JPH0667871A (ja) プログラム自動更新方式
JPH05120067A (ja) プログラムパツチ方式
JPH06274328A (ja) 複数の処理モジュールからなるプログラムの実行方法
JP2007188366A (ja) コンパイル装置
JPH086797A (ja) 定数参照最適化処理装置
JP6790541B2 (ja) ロジック更新装置及びロジック更新方法
JP2615576B2 (ja) 生産管理方法および生産管理装置
JPH0512106A (ja) メモリバンク切り替え方式
CN113656862A (zh) 图纸数据更新处理方法、设备、计算机可读存储介质
JP2000112734A (ja) ソフトウェア作成方法及び装置
JP2500770B2 (ja) プログラム修正方式
JPH08272411A (ja) ラダー命令処理装置
JP2019028918A (ja) 情報処理装置、方法、及びプログラム
JPS62204337A (ja) プログラム翻訳装置
JPH0358116A (ja) 計算機入力方式
JPS60126732A (ja) インサートパッチ処理方法
JPH04152052A (ja) 生産機械の稼働予定修正装置
JPH11184680A (ja) ファイル編集方法及びこれを用いたプログラム開発方法及び装置並びに記憶媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991019