Alexandre Oliva
06e77878ef
gas/ChangeLog:
* read.c (potable): Add weakref.
(s_weakref): New.
* read.h (s_weakref): Declare.
* struc-symbol.h (struct symbol): Add sy_weakrefr and sy_weakrefd.
* symbols.c (colon): Clear weakrefr.
(symbol_find_exact): Rename to, and reimplement in terms of...
(symbol_find_exact_noref): ... new function.
(symbol_find): Likewise...
(symbol_find_noref): ... ditto.
(resolve_symbol_value): Resolve weakrefr without setting their
values.
(S_SET_WEAK): Call hook.
(S_GET_VALUE): Follow weakref link.
(S_SET_VALUE): Clear weakrefr.
(S_IS_WEAK): Follow weakref link.
(S_IS_WEAKREFR, S_SET_WEAKREFR, S_CLEAR_WEAKREFR): New.
(S_IS_WEAKREFD, S_SET_WEAKREFD, S_CLEAR_WEAKREFD): New.
(symbol_set_value_expression, symbol_set_frag): Clear weakrefr.
(symbol_mark_used): Follow weakref link.
(print_symbol_value_1): Print weak, weakrefr and weakrefd.
* symbols.h (symbol_find_noref, symbol_find_exact_noref): Declare.
(S_IS_WEAKREFR, S_SET_WEAKREFR, S_CLEAR_WEAKREFR): Declare.
(S_IS_WEAKREFD, S_SET_WEAKREFD, S_CLEAR_WEAKREFD): Declare.
* write.c (adust_reloc_syms): Follow weakref link. Do not
complain if target is undefined.
(write_object_file): Likewise. Remove weakrefr symbols. Drop
unreferenced weakrefd symbols.
* config/obj-coff.c (obj_frob_symbol): Do not force WEAKREFD
symbols EXTERNAL.
(pecoff_obj_set_weak_hook, pecoff_obj_clear_weak_hook): New.
* config/obj-coff.h (obj_set_weak_hook, obj_clear_weak_hook): Define.
* doc/as.texinfo: Document weakref.
* doc/internals.texi: Document new struct members, internal
functions and hooks.
gas/testsuite/ChangeLog:
* gas/all/weakref1.s, gas/all/weakref1.d: New test.
* gas/all/weakref1g.d, gas/all/weakref1l.d: New tests.
* gas/all/weakref1u.d, gas/all/weakref1w.d: New tests.
* gas/all/weakref2.s, gas/all/weakref3.s: New tests.
* gas/all/gas.exp: Run new tests.
2005-10-24 17:51:42 +00:00
..
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-09-30 15:05:07 +00:00
2005-09-30 15:05:07 +00:00
2005-10-24 16:31:22 +00:00
2005-09-30 15:05:07 +00:00
2002-12-12 22:46:47 +00:00
2002-12-12 23:12:34 +00:00
2005-05-05 09:13:19 +00:00
2005-06-23 11:40:29 +00:00
2005-06-23 11:40:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-10-24 17:51:42 +00:00
2005-10-24 17:51:42 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-09-20 18:24:48 +00:00
2005-09-20 18:24:48 +00:00
2005-05-05 09:13:19 +00:00
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-09-20 18:24:48 +00:00
2005-06-07 17:54:22 +00:00
2005-10-11 11:16:17 +00:00
2005-06-07 17:54:22 +00:00
2005-10-08 17:07:19 +00:00
2005-10-08 17:07:19 +00:00
2005-10-12 10:56:46 +00:00
2005-10-12 10:56:46 +00:00
2005-10-24 16:31:22 +00:00
2005-09-30 15:05:07 +00:00
2005-06-07 17:54:22 +00:00
2005-07-08 03:54:30 +00:00
2005-07-14 15:34:16 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-08-11 01:25:29 +00:00
2005-08-18 11:54:33 +00:00
2005-10-13 01:06:01 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-09-28 15:31:21 +00:00
2005-09-28 14:44:25 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-10-24 07:42:50 +00:00
2005-10-11 11:16:17 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-10-22 00:04:26 +00:00
2005-08-11 01:25:29 +00:00
2005-10-11 11:16:17 +00:00
2005-10-11 11:16:17 +00:00
2005-06-07 17:54:22 +00:00
2005-09-20 18:24:48 +00:00
2005-09-20 18:24:48 +00:00
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-18 11:54:33 +00:00
2005-10-19 18:47:09 +00:00
2005-06-07 17:54:22 +00:00
2005-06-07 17:54:22 +00:00
2005-10-11 11:16:17 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-10-11 11:16:17 +00:00
2005-10-11 11:16:17 +00:00
2005-09-20 18:24:48 +00:00
2005-08-11 01:25:29 +00:00
2005-09-09 08:46:19 +00:00
2005-08-12 11:54:23 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-05-05 09:13:19 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-07-05 15:07:46 +00:00
2005-05-05 09:13:19 +00:00
2005-06-07 17:54:22 +00:00
2005-06-07 17:54:22 +00:00
2005-09-20 18:24:48 +00:00
2005-10-11 11:16:17 +00:00
2005-08-12 18:00:56 +00:00
2005-08-11 01:25:29 +00:00
2005-10-11 11:16:17 +00:00
2005-10-11 11:16:17 +00:00
2005-10-11 11:16:17 +00:00
2005-10-11 11:16:17 +00:00
2005-08-11 01:25:29 +00:00
2005-07-08 05:57:21 +00:00
2005-09-30 15:48:24 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-10-11 11:16:17 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-08-11 01:25:29 +00:00
2005-06-07 17:54:22 +00:00
2005-08-11 01:25:29 +00:00
2005-10-18 23:13:48 +00:00
2005-08-11 01:25:29 +00:00
2005-08-26 09:47:49 +00:00
2005-08-26 09:47:49 +00:00
2005-05-05 09:13:19 +00:00
2005-03-16 17:27:17 +00:00
2005-03-16 17:27:17 +00:00
2005-05-05 09:13:19 +00:00
2003-11-22 15:32:28 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2003-11-22 15:32:28 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2002-11-06 19:36:20 +00:00
2003-11-22 15:32:28 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-03-16 17:27:17 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-05-05 09:13:19 +00:00
2005-10-17 18:17:08 +00:00
2005-05-06 21:27:47 +00:00
2005-05-06 21:27:47 +00:00