aboutsummaryrefslogtreecommitdiff
path: root/gold/i386.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/i386.cc')
-rw-r--r--gold/i386.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/gold/i386.cc b/gold/i386.cc
index ba01106..11204f4 100644
--- a/gold/i386.cc
+++ b/gold/i386.cc
@@ -155,6 +155,19 @@ class Target_i386 : public Target_freebsd<32, false>
do_is_defined_by_abi(const Symbol* sym) const
{ return strcmp(sym->name(), "___tls_get_addr") == 0; }
+ // Return whether a symbol name implies a local label. The UnixWare
+ // 2.1 cc generates temporary symbols that start with .X, so we
+ // recognize them here. FIXME: do other SVR4 compilers also use .X?.
+ // If so, we should move the .X recognition into
+ // Target::do_is_local_label_name.
+ bool
+ do_is_local_label_name(const char* name) const
+ {
+ if (name[0] == '.' && name[1] == 'X')
+ return true;
+ return Target::do_is_local_label_name(name);
+ }
+
// Return the size of the GOT section.
section_size_type
got_size()