This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
powerpc-pe target
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Mon, 29 Oct 2012 20:40:13 +1030
- Subject: powerpc-pe target
Powerpc-pe hasn't built since Nick made some changes in 1999. I
haven't heard any complaints either, so that makes a fairly good case
for removing the target.. This patch came about as I was making some
changes to relocation processing in gas/config/tc-ppc.c and wanted to
check I hadn't broken anything (more than it might already be broken).
binutils/
* dlltool.c (INIT_SEC_DATA): Move.
(secdata <DLLTOOL_PPC>): Use here too.
binutils/testsuite/
* binutils-all/copy-3.d: Exclude all cygwin and mingw targets,
and rs6000.
gas/
* config/tc-ppc.c (ppc_znop): Remove unused vars.
ld/
* configure.tgt (powerpcle-pe,winnt,cygwin): Add deffilep.o
and pe-dll.o.
Index: binutils/dlltool.c
===================================================================
RCS file: /cvs/src/src/binutils/dlltool.c,v
retrieving revision 1.107
diff -u -p -r1.107 dlltool.c
--- binutils/dlltool.c 3 Aug 2012 16:33:04 -0000 1.107
+++ binutils/dlltool.c 27 Oct 2012 03:13:19 -0000
@@ -2278,6 +2278,9 @@ typedef struct
unsigned char *data;
} sinfo;
+#define INIT_SEC_DATA(id, name, flags, align) \
+ { id, name, flags, align, NULL, NULL, NULL, 0, NULL }
+
#ifndef DLLTOOL_PPC
#define TEXT 0
@@ -2295,8 +2298,6 @@ typedef struct
#define DATA_SEC_FLAGS (SEC_ALLOC | SEC_LOAD | SEC_DATA)
#define BSS_SEC_FLAGS SEC_ALLOC
-#define INIT_SEC_DATA(id, name, flags, align) \
- { id, name, flags, align, NULL, NULL, NULL, 0, NULL }
static sinfo secdata[NSECS] =
{
INIT_SEC_DATA (TEXT, ".text", TEXT_SEC_FLAGS, 2),
@@ -2326,15 +2327,15 @@ static sinfo secdata[NSECS] =
static sinfo secdata[NSECS] =
{
- { TEXT, ".text", SEC_CODE | SEC_HAS_CONTENTS, 3},
- { PDATA, ".pdata", SEC_HAS_CONTENTS, 2},
- { RDATA, ".reldata", SEC_HAS_CONTENTS, 2},
- { IDATA5, ".idata$5", SEC_HAS_CONTENTS, 2},
- { IDATA4, ".idata$4", SEC_HAS_CONTENTS, 2},
- { IDATA6, ".idata$6", SEC_HAS_CONTENTS, 1},
- { IDATA7, ".idata$7", SEC_HAS_CONTENTS, 2},
- { DATA, ".data", SEC_DATA, 2},
- { BSS, ".bss", 0, 2}
+ INIT_SEC_DATA (TEXT, ".text", SEC_CODE | SEC_HAS_CONTENTS, 3),
+ INIT_SEC_DATA (PDATA, ".pdata", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (RDATA, ".reldata", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (IDATA5, ".idata$5", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (IDATA4, ".idata$4", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (IDATA6, ".idata$6", SEC_HAS_CONTENTS, 1),
+ INIT_SEC_DATA (IDATA7, ".idata$7", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (DATA, ".data", SEC_DATA, 2),
+ INIT_SEC_DATA (BSS, ".bss", 0, 2)
};
#endif
Index: gas/config/tc-ppc.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ppc.c,v
retrieving revision 1.186
diff -u -p -r1.186 tc-ppc.c
--- gas/config/tc-ppc.c 26 Oct 2012 03:40:37 -0000 1.186
+++ gas/config/tc-ppc.c 27 Oct 2012 03:13:21 -0000
@@ -4887,8 +4879,6 @@ ppc_set_current_section (segT new)
static void
ppc_previous (int ignore ATTRIBUTE_UNUSED)
{
- symbolS *tmp;
-
if (ppc_previous_section == NULL)
{
as_warn (_("no previous section to return to, ignored."));
@@ -5060,15 +5050,11 @@ ppc_znop (int ignore ATTRIBUTE_UNUSED)
{
unsigned long insn;
const struct powerpc_opcode *opcode;
- expressionS ex;
char *f;
symbolS *sym;
char *symbol_name;
char c;
char *name;
- unsigned int exp;
- flagword flags;
- asection *sec;
/* Strip out the symbol name. */
symbol_name = input_line_pointer;
Index: binutils/testsuite/binutils-all/copy-3.d
===================================================================
RCS file: /cvs/src/src/binutils/testsuite/binutils-all/copy-3.d,v
retrieving revision 1.7
diff -u -p -r1.7 copy-3.d
--- binutils/testsuite/binutils-all/copy-3.d 1 Jan 2011 01:56:59 -0000 1.7
+++ binutils/testsuite/binutils-all/copy-3.d 27 Oct 2012 05:32:10 -0000
@@ -3,7 +3,7 @@
#objcopy: --set-section-flags .text=alloc,data
#name: copy with setting section flags 3
#source: bintest.s
-#not-target: *-*-*aout *-*-*pe *-*-*coff hppa*-*-hpux* i*86-*-cygwin* i*86-*-mingw32* m68k-*-netbsd m68k-*-openbsd* ns32k-*-netbsd x86_64-*-mingw*
+#not-target: *-*-*aout *-*-*pe *-*-*coff hppa*-*-hpux* *-*-cygwin* *-*-mingw* m68k-*-netbsd m68k-*-openbsd* ns32k-*-netbsd rs6000-*-*
# The .text # section in PE/COFF has a fixed set of flags and these
# cannot be changed. We skip it for them.
Index: ld/configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.269
diff -u -p -r1.269 configure.tgt
--- ld/configure.tgt 19 Sep 2012 20:14:26 -0000 1.269
+++ ld/configure.tgt 27 Oct 2012 03:13:22 -0000
@@ -559,9 +559,9 @@ powerpcle-*-nto*) targ_emul=elf32l
powerpc-*-rtems*) targ_emul=elf32ppc ;;
powerpc-*-macos*) targ_emul=ppcmacos ;;
powerpc-*-netware*) targ_emul=ppcnw ;;
-powerpcle-*-pe) targ_emul=ppcpe ;;
-powerpcle-*-winnt*) targ_emul=ppcpe ;;
-powerpcle-*-cygwin*) targ_emul=ppcpe ;;
+powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
+ targ_emul=ppcpe
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
powerpc-*-aix[5-9]*) targ_emul=aix5ppc ;;
powerpc-*-aix*) targ_emul=aixppc ;;
powerpc-*-beos*) targ_emul=aixppc ;;
--
Alan Modra
Australia Development Lab, IBM