Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

mcs(1)

名前

mcs - オブジェクトファイルのコメントセクションの操作

形式

mcs [-cdHpVz] [-A file] [-a string][-n name] file...

説明

mcs コマンドは、ELF オブジェクトファイルのコメントセクションのコメントを、表示、圧縮、または追加するために使用します。このコマンドは、コメントセクションまたは非コメントセクションを削除したり、SHT_PROGBITS セクションをゼロ化したりするためにも使用できます。特に指定されない場合、.comment という名前のセクションが操作されます。mcs は、セグメントに含まれているセクションを変更または削除することができません。

入力ファイルがアーカイブの場合 (ar.h(3HEAD) を参照)、アーカイブは個々のファイルのセットとして扱われます。たとえば、–a オプションが指定された場合、文字列はアーカイブ内の各オブジェクトファイルのコメントセクションに追加されます。アーカイブメンバーがオブジェクトファイルでない場合、アーカイブメンバーは変更されません。

mcs では、以下に記載する 1 つ以上のオプションを指定する必要があります。各オプションは、指定された順序で各ファイルに適用されます。

追加操作について、指定された名前を持つセクションがオブジェクトにまだ含まれていない場合、mcs では追加操作を実行する前に、その名前を使用して新しい空のセクションが作成されます。

オプション

サポートしているオプションは、次のとおりです。

–A file

オブジェクトファイルのコメントセクションに、指定されたファイルの内容を追加します。

–a string

オブジェクトファイルのコメントセクションに string を追加します。

–c

オブジェクトファイルのコメントセクションの内容を圧縮します。重複するすべてのエントリが削除されます。残りのエントリの順序には影響ありません。

–d

オブジェクトファイルから指定されたセクションを削除します。

–H

–p が使用される場合に、ファイルの名前の出力と、各ファイルの出力の間に通常挿入される空白行を抑制します。

–n name

.comment 以外の場合に、アクセスするセクションの名前を指定します。デフォルトでは、mcs.comment という名前のセクションを処理します。mcs では複数の –n オプションを使用して、複数のセクションを指定できます。mcs では常に、コメントセクションの形式を持つと仮定してセクションを操作します。

–p

コメントセクションの内容を標準出力に出力します。–H と一緒に使用しない場合、出力される各セクションには抽出元のファイルの名前が接頭辞として付けられ、アーカイブファイルの場合は file[member_name ]:、その他のファイルの場合は file: という形式になります。

–V

mcs のバージョンについての情報を提供するメッセージを標準エラーに出力します。

–z

すべての SHT_PROGBITS セクションの元の属性を保持しながら、セクションをゼロで置き換えます。

使用例 1 ファイルのコメントセクションの出力

次に、エントリの例を挙げます。

example% mcs -p elf.file

このエントリは、ファイル elf.file のコメントセクションを出力します。

使用例 2 コメントセクションへの文字列の追加

次に、エントリの例を挙げます。

example% mcs -a  xyz elf.file

このエントリは、文字列 xyzelf.file のコメントセクションに追加します。

使用例 3 指定された割り当て不可のセクションの削除

mcs は主にコメントセクションとともに使用されますが、割り当て不可のセクションを操作できます。割り当て不可のセクションについて事前定義された選択内容を削除する strip コマンドと比較すると、mcs は、指定された特定のセクションを削除するために使用できます。次に、エントリの例を挙げます。

example% mcs -d -n .annotate elf.file

このエントリは、.annotate という名前のセクションを、ファイル elf.file から削除します。

ファイル

/tmp/mcs*

一時ファイル

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
developer/base-developer-utilities
インタフェースの安定性
確実

関連項目

ar(1), as(1), ld(1), strip(1), ar.h(3HEAD), elf(3ELF), a.out(4), attributes(5)

mcs–d オプションを使用してセクションを削除するとき、タイプ SHT_REL のセクションと、sh_info セクションヘッダーフィールドによって指定されたターゲットセクションを、一緒にバインドしようとします。1 つが削除される場合、mcs はペアの片方を削除しようとします。

–z オプションは、オブジェクトの元の ELF 構造を維持しながら、SHT_PROGBITS セクションの内容を削除します。–z オプションを使用する必要性は限定されています。ただし、このオプションは、SHT_PROGBITS セクションの内容に関連しない場合にオブジェクトファイルの配布に使用できます。