Add support for disabling automatic generation of .eh_frame_hdr sections in ELF based...
[deliverable/binutils-gdb.git] / ld / emultempl / aix.em
index 4a06c71c332afa2e8ca03b96efe5772db726f41c..b9cab4e691cafbaaa95f74cc455fbe4bc601cd8d 100644 (file)
@@ -9,7 +9,7 @@ fragment <<EOF
 /* This file is is generated by a shell script.  DO NOT EDIT! */
 
 /* AIX emulation code for ${EMULATION_NAME}
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2016 Free Software Foundation, Inc.
    Written by Steve Chamberlain <sac@cygnus.com>
    AIX support by Ian Lance Taylor <ian@cygnus.com>
    AIX 64 bit support by Tom Rix <trix@redhat.com>
@@ -532,7 +532,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
     case OPTION_MODTYPE:
       if (*optarg == 'S')
        {
-         link_info.shared = TRUE;
+         link_info.type = type_dll;
          ++optarg;
        }
       if (*optarg == '\0' || optarg[1] == '\0')
@@ -680,7 +680,7 @@ gld${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry)
 static void
 gld${EMULATION_NAME}_after_open (void)
 {
-  bfd_boolean r;
+  enum output_type t;
   struct set_info *p;
 
   after_open_default ();
@@ -690,11 +690,11 @@ gld${EMULATION_NAME}_after_open (void)
      entries for all references to symbols, even in a final
      executable.  Of course, we only want to do this if we are
      producing an XCOFF output file.  */
-  r = link_info.relocatable;
+  t = link_info.type;
   if (strstr (bfd_get_target (link_info.output_bfd), "xcoff") != NULL)
-    link_info.relocatable = TRUE;
+    link_info.type = type_relocatable;
   ldctor_build_sets ();
-  link_info.relocatable = r;
+  link_info.type = t;
 
   /* For each set, record the size, so that the XCOFF backend can
      output the correct csect length.  */
@@ -953,7 +953,7 @@ gld${EMULATION_NAME}_before_allocation (void)
   /* Executables and shared objects must always have .text, .data
      and .bss output sections, so that the header can refer to them.
      The kernel refuses to load objects that have missing sections.  */
-  if (!link_info.relocatable)
+  if (!bfd_link_relocatable (&link_info))
     for (i = 0; i < ARRAY_SIZE (must_keep_sections); i++)
       {
        asection *sec;
@@ -1410,11 +1410,11 @@ fragment <<EOF
 {
   *isfile = 0;
 
-  if (link_info.relocatable && config.build_constructors)
+  if (bfd_link_relocatable (&link_info) && config.build_constructors)
     return
 EOF
 sed $sc ldscripts/${EMULATION_NAME}.xu                >> e${EMULATION_NAME}.c
-echo '  ; else if (link_info.relocatable) return'     >> e${EMULATION_NAME}.c
+echo '  ; else if (bfd_link_relocatable (&link_info)) return' >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.xr                >> e${EMULATION_NAME}.c
 echo '  ; else if (!config.text_read_only) return'     >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.xbn                       >> e${EMULATION_NAME}.c
@@ -1431,9 +1431,9 @@ fragment <<EOF
 {
   *isfile = 1;
 
-  if (link_info.relocatable && config.build_constructors)
+  if (bfd_link_relocatable (&link_info) && config.build_constructors)
     return "ldscripts/${EMULATION_NAME}.xu";
-  else if (link_info.relocatable)
+  else if (bfd_link_relocatable (&link_info))
     return "ldscripts/${EMULATION_NAME}.xr";
   else if (!config.text_read_only)
     return "ldscripts/${EMULATION_NAME}.xbn";
@@ -1509,7 +1509,13 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch,
   if (!entry->flags.maybe_archive)
     return FALSE;
 
-  path = concat (search->name, "/lib", entry->filename, arch, ".a", NULL);
+  if (entry->flags.full_name_provided)
+    path = concat (search->name, "/", entry->filename,
+                  (const char *) NULL);
+  else
+    path = concat (search->name, "/lib", entry->filename, arch, ".a",
+                  (const char *) NULL);
+
   if (!ldfile_try_open_bfd (path, entry))
     {
       free (path);
@@ -1547,6 +1553,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = {
   NULL,                                /* list_options */
   NULL,                                /* recognized_file */
   NULL,                                /* find potential_libraries */
-  NULL                         /* new_vers_pattern */
+  NULL,                                /* new_vers_pattern */
+  NULL                         /* extra_map_file_text */
 };
 EOF
This page took 0.036354 seconds and 4 git commands to generate.