• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


コミットメタ情報

リビジョンded49c3ea35a4068b5a78aee7487bf867fa42de8 (tree)
日時2008-09-08 09:54:26
作者Dave Anglin <dave.anglin@nrc....>
コミッターDave Anglin

ログメッセージ

* config/tc-hppa.h (DIFF_EXPR_OK): Define for SOM target. Revise
comment regarding use of difference expressions.
(TC_FORCE_RELOCATION_SUB_LOCAL): Define to 1.

変更サマリ

差分

--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
11 2008-09-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
22
3+ * config/tc-hppa.h (DIFF_EXPR_OK): Define for SOM target. Revise
4+ comment regarding use of difference expressions.
5+ (TC_FORCE_RELOCATION_SUB_LOCAL): Define to 1.
6+
37 * dw2gencfi.c (CFI_DIFF_EXPR_OK): Define if not defined.
48 (dot_cfi_personality): Use CFI_DIFF_EXPR_OK instead of DIFF_EXPR_OK.
59 (dot_cfi_lsda, output_cie, output_fde): Likewise.
--- a/gas/config/tc-hppa.h
+++ b/gas/config/tc-hppa.h
@@ -146,14 +146,23 @@ int hppa_fix_adjustable (struct fix *);
146146 two symbols. This includes the difference of two symbols when
147147 one of them is undefined (this comes up in PIC code generation).
148148
149- We don't define DIFF_EXPR_OK because it does the wrong thing if
150- the add symbol is undefined and the sub symbol is a symbol in
151- the same section as the relocation. We also need some way to
152- specialize some code in adjust_reloc_syms. */
149+ We allow the difference of two symbols when the subtract symbol is
150+ local to the relocation. This is implemented using R_HPPA_COMPLEX.
151+
152+ This has some limitations. Difference expressions only work between
153+ symbols in the same segment/quadrant of a module since the HP dynamic
154+ loader relocates the text and data segments independently. Thus, a
155+ difference expression can't be used between text and data symbols,
156+ or between symbols in different executable modules. */
157+#define DIFF_EXPR_OK 1
158+#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX) 1
153159 #define UNDEFINED_DIFFERENCE_OK
154160 #endif
155161
156162 #ifdef OBJ_ELF
163+
164+/* Difference expressions for the 64-bit HP-UX target have the same
165+ limitations as those for the 32-bit SOM target. */
157166 #define DIFF_EXPR_OK 1
158167
159168 /* Handle .type psuedo. Given a type string of `millicode', set the