+2013-02-06 Alan Modra <amodra@gmail.com>
+
+ PR ld/15096
+ * emultempl/elf32.em: Revert 2013-02-04, 2013-01-22 and 2013-01-21.
+ * emultempl/alphaelf.em: Revert 2013-02-04.
+ * emultempl/cr16elf.em: Likewise.
+ * emultempl/crxelf.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/ia64elf.em: Likewise.
+ * emultempl/mipself.em: Likewise.
+ * NEWS: Revert 2013-01-21.
+
2013-02-04 H.J. Lu <hongjiu.lu@intel.com>
PR ld/15096
* --enable-new-dtags no longer generates old dtags in addition to new dtags.
-* For Linux/GNU targets, new dtags is now the default.
-
Changes in 2.23:
* Enable compressed debug section feature for x86/x86_64 pe-coff.
exp_nameop (SIZEOF_HEADERS, NULL)),
NULL);
- gld${EMULATION_NAME}_after_parse ();
+ after_parse_default ();
}
static void
is true the link sometimes fails. */
config.magic_demand_paged = FALSE;
- gld${EMULATION_NAME}_after_parse ();
+ after_parse_default ();
}
/* This is called after the sections have been attached to output
is true the link sometimes fails. */
config.magic_demand_paged = FALSE;
- gld${EMULATION_NAME}_after_parse ();
+ after_parse_default ();
}
/* This is called after the sections have been attached to output
/* Declare functions used by various EXTRA_EM_FILEs. */
static void gld${EMULATION_NAME}_before_parse (void);
-static void gld${EMULATION_NAME}_after_parse (void);
static void gld${EMULATION_NAME}_after_open (void);
static void gld${EMULATION_NAME}_before_allocation (void);
static void gld${EMULATION_NAME}_after_allocation (void);
(asection *, const char *, int);
EOF
-if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
-
-/* TRUE if link_info.new_dtags is set. */
-static bfd_boolean new_dtags_set;
-
-EOF
-fi
-
if [ "x${USE_LIBPATH}" = xyes ] ; then
case ${target} in
*-*-linux-* | *-*-k*bsd*-* | *-*-gnu*)
EOF
fi
-fragment <<EOF
-static void
-gld${EMULATION_NAME}_after_parse (void)
-{
-EOF
-
-if test x"$LDEMUL_AFTER_PARSE" != xgld"$EMULATION_NAME"_after_parse; then
-# Enable the "new" dtags by default only for Linux target emulation if
-# -rpath isn't used.
-case ${target} in
- *-*-linux-* | *-*-k*bsd*-* | *-*-gnu* | *-*-nacl*)
- case " ${EMULATION_LIBPATH} " in
- *" ${EMULATION_NAME} "*)
-fragment <<EOF
- if (!new_dtags_set && command_line.rpath == NULL)
- link_info.new_dtags = TRUE;
-EOF
- ;;
- esac
- ;;
-esac
-
-fragment <<EOF
- after_parse_default ();
-}
-
-EOF
-fi
-
if test x"$LDEMUL_RECOGNIZED_FILE" != xgld"${EMULATION_NAME}"_load_symbols; then
fragment <<EOF
/* Handle the generation of DT_NEEDED tags. */
;;
*-*-linux-* | *-*-k*bsd*-* | *-*-gnu*)
- # Linux
fragment <<EOF
if (gld${EMULATION_NAME}_check_ld_so_conf (l, force))
break;
EOF
+ # Linux
;;
esac
fi
case OPTION_DISABLE_NEW_DTAGS:
link_info.new_dtags = FALSE;
- new_dtags_set = TRUE;
break;
case OPTION_ENABLE_NEW_DTAGS:
link_info.new_dtags = TRUE;
- new_dtags_set = TRUE;
break;
case OPTION_EH_FRAME_HDR:
${LDEMUL_BEFORE_PARSE-gld${EMULATION_NAME}_before_parse},
${LDEMUL_SYSLIB-syslib_default},
${LDEMUL_HLL-hll_default},
- ${LDEMUL_AFTER_PARSE-gld${EMULATION_NAME}_after_parse},
+ ${LDEMUL_AFTER_PARSE-after_parse_default},
${LDEMUL_AFTER_OPEN-gld${EMULATION_NAME}_after_open},
${LDEMUL_AFTER_ALLOCATION-gld${EMULATION_NAME}_after_allocation},
${LDEMUL_SET_OUTPUT_ARCH-set_output_arch_default},
NULL);
*/
- gld${EMULATION_NAME}_after_parse ();
+ after_parse_default ();
}
/* This is called before the input files are opened. We create a new
static int itanium = 0;
static void
-gld_${EMULATION_NAME}_after_parse (void)
+gld${EMULATION_NAME}_after_parse (void)
{
link_info.relax_pass = 2;
bfd_elf${ELFSIZE}_ia64_after_parse (itanium);
- gld${EMULATION_NAME}_after_parse ();
+ after_parse_default ();
}
EOF
break;
'
-LDEMUL_AFTER_PARSE=gld_${EMULATION_NAME}_after_parse
+LDEMUL_AFTER_PARSE=gld${EMULATION_NAME}_after_parse
source_em ${srcdir}/emultempl/needrelax.em
link_info.emit_hash = TRUE;
link_info.emit_gnu_hash = FALSE;
}
- gld${EMULATION_NAME}_after_parse ();
+ after_parse_default ();
}
struct hook_stub_info
+2013-02-06 Alan Modra <amodra@gmail.com>
+
+ PR ld/15096
+ * ld-elf/new-dtags-1.d: Delete.
+ * ld-elf/new-dtags-2.d: Likewise.
+ * ld-elf/new-dtags-3.d: Likewise.
+ * ld-elf/new-dtags-4.d: Likewise.
+ * ld-elf/new-dtags-5.d: Likewise.
+ * ld-elf/new-dtags-6.d: Likewise.
+ * ld-elf/new-dtags-7.d: Likewise.
+ * ld-elf/new-dtags-8.d: Likewise.
+
2013-02-04 H.J. Lu <hongjiu.lu@intel.com>
PR ld/15096
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -rpath .
-#target: *-*-linux* *-*-gnu*
-
-#failif
-#...
- +0x[0-9a-f]+ +\(RUNPATH\) +Library runpath: +\[.\]
-#...
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -rpath .
-#target: *-*-linux* *-*-gnu*
-
-#...
- +0x[0-9a-f]+ +\(RPATH\) +Library rpath: +\[.\]
-#pass
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -rpath . --enable-new-dtags
-#target: *-*-linux* *-*-gnu*
-
-#failif
-#...
- +0x[0-9a-f]+ +\(RPATH\) +Library rpath: +\[.\]
-#...
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -rpath . --enable-new-dtags
-#target: *-*-linux* *-*-gnu*
-
-#...
- +0x[0-9a-f]+ +\(RUNPATH\) +Library runpath: +\[.\]
-#pass
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -z now
-#target: *-*-linux* *-*-gnu*
-
-#failif
-#...
- 0x[0-9a-f]+ +\(BIND_NOW\) +
-#...
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -z now
-#target: *-*-linux* *-*-gnu*
-
-#...
- 0x[0-9a-f]+ +\(FLAGS\) +BIND_NOW
-#pass
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -z now --disable-new-dtags
-#target: *-*-linux* *-*-gnu*
-
-#failif
-#...
- 0x[0-9a-f]+ +\(FLAGS\) +BIND_NOW
-#pass
+++ /dev/null
-#source: start.s
-#readelf: -d -W
-#ld: -shared -z now --disable-new-dtags
-#target: *-*-linux* *-*-gnu*
-
-#...
- 0x[0-9a-f]+ +\(BIND_NOW\) +
-#pass