SOURCES: crossavr-binutils-avr-size.patch, crossavr-binutils-atmega32u6.pat...
kosmo
kosmo at pld-linux.org
Sun Apr 5 13:48:36 CEST 2009
Author: kosmo Date: Sun Apr 5 11:48:36 2009 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- synchronized patches with WinAVR project (http://winavr.sourceforge.net).
---- Files affected:
SOURCES:
crossavr-binutils-avr-size.patch (1.1 -> 1.2) , crossavr-binutils-atmega32u6.patch (NONE -> 1.1) (NEW), crossavr-binutils-avr-coff.patch (NONE -> 1.1) (NEW), crossavr-binutils-data-origin.patch (NONE -> 1.1) (NEW), crossavr-binutils-new-sections.patch (NONE -> 1.1) (NEW), crossavr-binutils-xmega2.patch (NONE -> 1.1) (NEW), crossavr-binutils-xmega.patch (NONE -> 1.1) (NEW), crossavr-binutils-aa.patch (1.1 -> NONE) (REMOVED), crossavr-binutils-coff-avr.patch (1.4 -> NONE) (REMOVED)
---- Diffs:
================================================================
Index: SOURCES/crossavr-binutils-avr-size.patch
diff -u SOURCES/crossavr-binutils-avr-size.patch:1.1 SOURCES/crossavr-binutils-avr-size.patch:1.2
--- SOURCES/crossavr-binutils-avr-size.patch:1.1 Wed Jul 16 22:00:28 2008
+++ SOURCES/crossavr-binutils-avr-size.patch Sun Apr 5 13:48:28 2009
@@ -47,7 +47,7 @@
static int show_version = 0;
static int show_help = 0;
static int show_totals = 0;
-@@ -63,6 +83,156 @@ static bfd_size_type total_textsize;
+@@ -63,6 +83,163 @@ static bfd_size_type total_textsize;
/* Program exit status. */
static int return_code = 0;
@@ -80,122 +80,129 @@
+
+avr_device_t avr[] =
+{
-+ {"atmega2560", AVR256K, AVR8K, AVR4K},
-+ {"atmega2561", AVR256K, AVR8K, AVR4K},
-+
-+ {"at43usb320", AVR128K, 608UL, 0},
-+ {"at90can128", AVR128K, AVR4K, AVR4K},
-+ {"at90usb1286", AVR128K, AVR8K, AVR4K},
-+ {"at90usb1287", AVR128K, AVR8K, AVR4K},
-+ {"atmega128", AVR128K, AVR4K, AVR4K},
-+ {"atmega1280", AVR128K, AVR8K, AVR4K},
-+ {"atmega1281", AVR128K, AVR8K, AVR4K},
-+ {"atmega1284P", AVR128K, AVR16K, AVR4K},
-+ {"atmega103", AVR128K, 4000UL, AVR4K},
-+ {"atxmega128a1",AVR128K, AVR8K, AVR2K},
-+
-+ {"at90can64", AVR64K, AVR4K, AVR2K},
-+ {"at90usb646", AVR64K, AVR4K, AVR2K},
-+ {"at90usb647", AVR64K, AVR4K, AVR2K},
-+ {"atmega64", AVR64K, AVR4K, AVR2K},
-+ {"atmega640", AVR64K, AVR8K, AVR4K},
-+ {"atmega644", AVR64K, AVR4K, AVR2K},
-+ {"atmega644p", AVR64K, AVR4K, AVR2K},
-+ {"atmega645", AVR64K, AVR4K, AVR2K},
-+ {"atmega6450", AVR64K, AVR4K, AVR2K},
-+ {"atmega649", AVR64K, AVR4K, AVR2K},
-+ {"atmega6490", AVR64K, AVR4K, AVR2K},
-+ {"atxmega64a1", AVR64K, AVR4K, AVR2K},
-+
-+ {"atmega406", AVR40K, AVR512, AVR2K},
-+
-+ {"at90can32", AVR32K, AVR2K, AVR1K},
-+ {"at94k", AVR32K, AVR4K, 0},
-+ {"atmega32", AVR32K, AVR2K, AVR1K},
-+ {"atmega323", AVR32K, AVR2K, AVR1K},
-+ {"atmega324p", AVR32K, AVR2K, AVR1K},
-+ {"atmega325", AVR32K, AVR2K, AVR1K},
-+ {"atmega325p", AVR32K, AVR2K, AVR1K},
-+ {"atmega3250", AVR32K, AVR2K, AVR1K},
-+ {"atmega3250p", AVR32K, AVR2K, AVR1K},
-+ {"atmega328p", AVR32K, AVR2K, AVR1K},
-+ {"atmega329", AVR32K, AVR2K, AVR1K},
-+ {"atmega329p", AVR32K, AVR2K, AVR1K},
-+ {"atmega3290", AVR32K, AVR2K, AVR1K},
-+ {"atmega3290p", AVR32K, AVR2K, AVR1K},
-+ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
-+ {"atmega32c1", AVR32K, AVR2K, AVR1K},
-+ {"atmega32m1", AVR32K, AVR2K, AVR1K},
-+ {"atmega32u4", AVR32K, 2560UL, AVR1K},
-+
-+ {"at43usb355", AVR24K, 1120, 0},
-+
-+ {"at76c711", AVR16K, AVR2K, 0},
-+ {"at90pwm216", AVR16K, AVR1K, AVR512},
-+ {"at90pwm316", AVR16K, AVR1K, AVR512},
-+ {"at90usb162", AVR16K, AVR512, AVR512},
-+ {"atmega16", AVR16K, AVR1K, AVR512},
-+ {"atmega161", AVR16K, AVR1K, AVR512},
-+ {"atmega162", AVR16K, AVR1K, AVR512},
-+ {"atmega163", AVR16K, AVR1K, AVR512},
-+ {"atmega164", AVR16K, AVR1K, AVR512},
-+ {"atmega164p", AVR16K, AVR1K, AVR512},
-+ {"atmega165", AVR16K, AVR1K, AVR512},
-+ {"atmega165p", AVR16K, AVR1K, AVR512},
-+ {"atmega168", AVR16K, AVR1K, AVR512},
-+ {"atmega168p", AVR16K, AVR1K, AVR512},
-+ {"atmega169", AVR16K, AVR1K, AVR512},
-+ {"atmega169p", AVR16K, AVR1K, AVR512},
-+ {"attiny167", AVR16K, AVR512, AVR512},
-+
-+ {"at90c8534", AVR8K, 352, AVR512},
-+ {"at90pwm1", AVR8K, AVR512, AVR512},
-+ {"at90pwm2", AVR8K, AVR512, AVR512},
-+ {"at90pwm2b", AVR8K, AVR512, AVR512},
-+ {"at90pwm3", AVR8K, AVR512, AVR512},
-+ {"at90pwm3b", AVR8K, AVR512, AVR512},
-+ {"at90s8515", AVR8K, AVR512, AVR512},
-+ {"at90s8535", AVR8K, AVR512, AVR512},
-+ {"at90usb82", AVR8K, AVR512, AVR512},
-+ {"atmega8", AVR8K, AVR1K, AVR512},
-+ {"atmega8515", AVR8K, AVR512, AVR512},
-+ {"atmega8535", AVR8K, AVR512, AVR512},
-+ {"atmega88", AVR8K, AVR1K, AVR512},
-+ {"atmega88p", AVR8K, AVR1K, AVR512},
-+ {"attiny84", AVR8K, AVR512, AVR512},
-+ {"attiny85", AVR8K, AVR512, AVR512},
-+ {"attiny861", AVR8K, AVR512, AVR512},
-+ {"attiny88", AVR8K, AVR256, AVR64},
-+
-+ {"at90s4414", AVR4K, 352, AVR256},
-+ {"at90s4433", AVR4K, AVR128, AVR256},
-+ {"at90s4434", AVR4K, 352, AVR256},
-+ {"atmega48", AVR4K, AVR512, AVR256},
-+ {"atmega48p", AVR4K, AVR512, AVR256},
-+ {"attiny43u", AVR4K, AVR256, AVR64},
-+ {"attiny44", AVR4K, AVR256, AVR256},
-+ {"attiny45", AVR4K, AVR256, AVR256},
-+ {"attiny461", AVR4K, AVR256, AVR256},
-+ {"attiny48", AVR4K, AVR256, AVR64},
-+
-+ {"at86rf401", AVR2K, 224, AVR128},
-+ {"at90s2313", AVR2K, AVR128, AVR128},
-+ {"at90s2323", AVR2K, AVR128, AVR128},
-+ {"at90s2333", AVR2K, 224, AVR128},
-+ {"at90s2343", AVR2K, AVR128, AVR128},
-+ {"attiny22", AVR2K, 224, AVR128},
-+ {"attiny2313", AVR2K, AVR128, AVR128},
-+ {"attiny24", AVR2K, AVR128, AVR128},
-+ {"attiny25", AVR2K, AVR128, AVR128},
-+ {"attiny26", AVR2K, AVR128, AVR128},
-+ {"attiny261", AVR2K, AVR128, AVR128},
-+ {"attiny28", AVR2K, 0, 0},
-+
-+ {"at90s1200", AVR1K, 0, AVR64},
-+ {"attiny11", AVR1K, 0, AVR64},
-+ {"attiny12", AVR1K, 0, AVR64},
-+ {"attiny13", AVR1K, AVR64, AVR64},
-+ {"attiny15", AVR1K, 0, AVR64},
++ {"atmega2560", AVR256K, AVR8K, AVR4K},
++ {"atmega2561", AVR256K, AVR8K, AVR4K},
++ {"atxmega256a3", AVR256K, AVR8K, AVR4K},
++ {"atxmega256a3b", AVR256K, AVR8K, AVR4K},
++ {"atxmega256a3v", AVR256K, AVR8K, AVR4K},
++
++ {"at43usb320", AVR128K, 608UL, 0},
++ {"at90can128", AVR128K, AVR4K, AVR4K},
++ {"at90usb1286", AVR128K, AVR8K, AVR4K},
++ {"at90usb1287", AVR128K, AVR8K, AVR4K},
++ {"atmega128", AVR128K, AVR4K, AVR4K},
++ {"atmega1280", AVR128K, AVR8K, AVR4K},
++ {"atmega1281", AVR128K, AVR8K, AVR4K},
++ {"atmega1284P", AVR128K, AVR16K, AVR4K},
++ {"atmega103", AVR128K, 4000UL, AVR4K},
++ {"atxmega128a1", AVR128K, AVR8K, AVR2K},
++ {"atxmega128a3", AVR128K, AVR16K, AVR2K},
++
++ {"at90can64", AVR64K, AVR4K, AVR2K},
++ {"at90usb646", AVR64K, AVR4K, AVR2K},
++ {"at90usb647", AVR64K, AVR4K, AVR2K},
++ {"atmega64", AVR64K, AVR4K, AVR2K},
++ {"atmega640", AVR64K, AVR8K, AVR4K},
++ {"atmega644", AVR64K, AVR4K, AVR2K},
++ {"atmega644p", AVR64K, AVR4K, AVR2K},
++ {"atmega645", AVR64K, AVR4K, AVR2K},
++ {"atmega6450", AVR64K, AVR4K, AVR2K},
++ {"atmega649", AVR64K, AVR4K, AVR2K},
++ {"atmega6490", AVR64K, AVR4K, AVR2K},
++ {"atxmega64a1", AVR64K, AVR4K, AVR2K},
++ {"atxmega64a3", AVR64K, AVR4K, AVR2K},
++
++ {"atmega406", AVR40K, AVR2K, AVR512},
++
++ {"at90can32", AVR32K, AVR2K, AVR1K},
++ {"at94k", AVR32K, AVR4K, 0},
++ {"atmega32", AVR32K, AVR2K, AVR1K},
++ {"atmega323", AVR32K, AVR2K, AVR1K},
++ {"atmega324p", AVR32K, AVR2K, AVR1K},
++ {"atmega325", AVR32K, AVR2K, AVR1K},
++ {"atmega325p", AVR32K, AVR2K, AVR1K},
++ {"atmega3250", AVR32K, AVR2K, AVR1K},
++ {"atmega3250p", AVR32K, AVR2K, AVR1K},
++ {"atmega328p", AVR32K, AVR2K, AVR1K},
++ {"atmega329", AVR32K, AVR2K, AVR1K},
++ {"atmega329p", AVR32K, AVR2K, AVR1K},
++ {"atmega3290", AVR32K, AVR2K, AVR1K},
++ {"atmega3290p", AVR32K, AVR2K, AVR1K},
++ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
++ {"atmega32c1", AVR32K, AVR2K, AVR1K},
++ {"atmega32m1", AVR32K, AVR2K, AVR1K},
++ {"atmega32u4", AVR32K, 2560UL, AVR1K},
++ {"atmega32u6", AVR32K, 2560UL, AVR1K},
++
++ {"at43usb355", AVR24K, 1120, 0},
++
++ {"at76c711", AVR16K, AVR2K, 0},
++ {"at90pwm216", AVR16K, AVR1K, AVR512},
++ {"at90pwm316", AVR16K, AVR1K, AVR512},
++ {"at90usb162", AVR16K, AVR512, AVR512},
++ {"atmega16", AVR16K, AVR1K, AVR512},
++ {"atmega161", AVR16K, AVR1K, AVR512},
++ {"atmega162", AVR16K, AVR1K, AVR512},
++ {"atmega163", AVR16K, AVR1K, AVR512},
++ {"atmega164", AVR16K, AVR1K, AVR512},
++ {"atmega164p", AVR16K, AVR1K, AVR512},
++ {"atmega165", AVR16K, AVR1K, AVR512},
++ {"atmega165p", AVR16K, AVR1K, AVR512},
++ {"atmega168", AVR16K, AVR1K, AVR512},
++ {"atmega168p", AVR16K, AVR1K, AVR512},
++ {"atmega169", AVR16K, AVR1K, AVR512},
++ {"atmega169p", AVR16K, AVR1K, AVR512},
++ {"atmega16u4", AVR16K, 1280UL, AVR512},
++ {"attiny167", AVR16K, AVR512, AVR512},
++
++ {"at90c8534", AVR8K, 352, AVR512},
++ {"at90pwm1", AVR8K, AVR512, AVR512},
++ {"at90pwm2", AVR8K, AVR512, AVR512},
++ {"at90pwm2b", AVR8K, AVR512, AVR512},
++ {"at90pwm3", AVR8K, AVR512, AVR512},
++ {"at90pwm3b", AVR8K, AVR512, AVR512},
++ {"at90s8515", AVR8K, AVR512, AVR512},
++ {"at90s8535", AVR8K, AVR512, AVR512},
++ {"at90usb82", AVR8K, AVR512, AVR512},
++ {"atmega8", AVR8K, AVR1K, AVR512},
++ {"atmega8515", AVR8K, AVR512, AVR512},
++ {"atmega8535", AVR8K, AVR512, AVR512},
++ {"atmega88", AVR8K, AVR1K, AVR512},
++ {"atmega88p", AVR8K, AVR1K, AVR512},
++ {"attiny84", AVR8K, AVR512, AVR512},
++ {"attiny85", AVR8K, AVR512, AVR512},
++ {"attiny861", AVR8K, AVR512, AVR512},
++ {"attiny88", AVR8K, AVR256, AVR64},
++
++ {"at90s4414", AVR4K, 352, AVR256},
++ {"at90s4433", AVR4K, AVR128, AVR256},
++ {"at90s4434", AVR4K, 352, AVR256},
++ {"atmega48", AVR4K, AVR512, AVR256},
++ {"atmega48p", AVR4K, AVR512, AVR256},
++ {"attiny43u", AVR4K, AVR256, AVR64},
++ {"attiny44", AVR4K, AVR256, AVR256},
++ {"attiny45", AVR4K, AVR256, AVR256},
++ {"attiny461", AVR4K, AVR256, AVR256},
++ {"attiny48", AVR4K, AVR256, AVR64},
++
++ {"at86rf401", AVR2K, 224, AVR128},
++ {"at90s2313", AVR2K, AVR128, AVR128},
++ {"at90s2323", AVR2K, AVR128, AVR128},
++ {"at90s2333", AVR2K, 224, AVR128},
++ {"at90s2343", AVR2K, AVR128, AVR128},
++ {"attiny22", AVR2K, 224, AVR128},
++ {"attiny2313", AVR2K, AVR128, AVR128},
++ {"attiny24", AVR2K, AVR128, AVR128},
++ {"attiny25", AVR2K, AVR128, AVR128},
++ {"attiny26", AVR2K, AVR128, AVR128},
++ {"attiny261", AVR2K, AVR128, AVR128},
++ {"attiny28", AVR2K, 0, 0},
++
++ {"at90s1200", AVR1K, 0, AVR64},
++ {"attiny11", AVR1K, 0, AVR64},
++ {"attiny12", AVR1K, 0, AVR64},
++ {"attiny13", AVR1K, AVR64, AVR64},
++ {"attiny15", AVR1K, 0, AVR64},
+};
+
+static char *avrmcu = NULL;
@@ -204,7 +211,7 @@
static char *target = NULL;
/* Forward declarations. */
-@@ -78,7 +240,8 @@ usage (FILE *stream, int status)
+@@ -78,7 +247,8 @@ usage (FILE *stream, int status)
fprintf (stream, _(" Displays the sizes of sections inside binary files\n"));
fprintf (stream, _(" If no input file(s) are specified, a.out is assumed\n"));
fprintf (stream, _(" The options are:\n\
@@ -214,7 +221,7 @@
-o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n\
-t --totals Display the total sizes (Berkeley only)\n\
--common Display total size for *COM* syms\n\
-@@ -87,11 +250,7 @@ usage (FILE *stream, int status)
+@@ -87,11 +257,7 @@ usage (FILE *stream, int status)
-h --help Display this information\n\
-v --version Display the program's version\n\
\n"),
@@ -227,7 +234,7 @@
);
list_supported_targets (program_name, stream);
if (REPORT_BUGS_TO[0] && status == 0)
-@@ -102,6 +261,7 @@ usage (FILE *stream, int status)
+@@ -102,6 +268,7 @@ usage (FILE *stream, int status)
#define OPTION_FORMAT (200)
#define OPTION_RADIX (OPTION_FORMAT + 1)
#define OPTION_TARGET (OPTION_RADIX + 1)
@@ -235,7 +242,7 @@
static struct option long_options[] =
{
-@@ -109,6 +269,7 @@ static struct option long_options[] =
+@@ -109,6 +276,7 @@ static struct option long_options[] =
{"format", required_argument, 0, OPTION_FORMAT},
{"radix", required_argument, 0, OPTION_RADIX},
{"target", required_argument, 0, OPTION_TARGET},
@@ -243,7 +250,7 @@
{"totals", no_argument, &show_totals, 1},
{"version", no_argument, &show_version, 1},
{"help", no_argument, &show_help, 1},
-@@ -140,7 +301,7 @@ main (int argc, char **argv)
+@@ -140,7 +308,7 @@ main (int argc, char **argv)
bfd_init ();
set_default_bfd_target ();
@@ -252,7 +259,7 @@
(int *) 0)) != EOF)
switch (c)
{
-@@ -149,11 +310,15 @@ main (int argc, char **argv)
+@@ -149,11 +317,15 @@ main (int argc, char **argv)
{
case 'B':
case 'b':
@@ -270,7 +277,7 @@
break;
default:
non_fatal (_("invalid argument to --format: %s"), optarg);
-@@ -161,6 +326,10 @@ main (int argc, char **argv)
+@@ -161,6 +333,10 @@ main (int argc, char **argv)
}
break;
@@ -281,7 +288,7 @@
case OPTION_TARGET:
target = optarg;
break;
-@@ -189,11 +358,14 @@ main (int argc, char **argv)
+@@ -189,11 +365,14 @@ main (int argc, char **argv)
break;
case 'A':
@@ -298,7 +305,7 @@
case 'v':
case 'V':
show_version = 1;
-@@ -239,7 +411,7 @@ main (int argc, char **argv)
+@@ -239,7 +418,7 @@ main (int argc, char **argv)
for (; optind < argc;)
display_file (argv[optind++]);
@@ -307,7 +314,7 @@
{
bfd_size_type total = total_textsize + total_datasize + total_bsssize;
-@@ -600,13 +772,117 @@ print_sysv_format (bfd *file)
+@@ -600,13 +779,117 @@ print_sysv_format (bfd *file)
printf ("\n\n");
}
================================================================
Index: SOURCES/crossavr-binutils-atmega32u6.patch
diff -u /dev/null SOURCES/crossavr-binutils-atmega32u6.patch:1.1
--- /dev/null Sun Apr 5 13:48:37 2009
+++ SOURCES/crossavr-binutils-atmega32u6.patch Sun Apr 5 13:48:26 2009
@@ -0,0 +1,21 @@
+--- gas/config/tc-avr.c.orig 2008-11-03 20:26:36.667612400 -0700
++++ gas/config/tc-avr.c 2008-11-04 10:21:02.655736600 -0700
+@@ -181,6 +181,7 @@ static struct mcu_type_s mcu_types[] =
+ {"atmega32c1", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega32m1", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega32u4", AVR_ISA_AVR5, bfd_mach_avr5},
++ {"atmega32u6", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"at90usb646", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"at90usb647", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"at94k", AVR_ISA_94K, bfd_mach_avr5},
+--- gas/doc/c-avr.texi.orig 2008-08-29 10:58:02.000000000 -0600
++++ gas/doc/c-avr.texi 2008-11-04 13:20:43.724525000 -0700
+@@ -67,7 +67,7 @@ atmega323, atmega324p, atmega325, atmega
+ atmega328p, atmega329, atmega329p, atmega3290, atmega3290p, atmega406, atmega64,
+ atmega640, atmega644, atmega644p, atmega645, atmega6450, atmega649, atmega6490,
+ atmega16hva, at90can32, at90can64, at90pwm216, at90pwm316, atmega16u4,
+-atmega32c1, atmega32m1, atmega32u4, at90usb646, at90usb647, at94k).
++atmega32c1, atmega32m1, atmega32u4, atmega32u6, at90usb646, at90usb647, at94k).
+
+ Instruction set avr51 is for the enhanced AVR core with exactly 128K program
+ memory space (MCU types: atmega128, atmega1280, atmega1281, atmega1284p,
================================================================
Index: SOURCES/crossavr-binutils-avr-coff.patch
diff -u /dev/null SOURCES/crossavr-binutils-avr-coff.patch:1.1
--- /dev/null Sun Apr 5 13:48:38 2009
+++ SOURCES/crossavr-binutils-avr-coff.patch Sun Apr 5 13:48:27 2009
@@ -0,0 +1,5583 @@
+AVR specific only
+Deprecated
+--------------------------------------------------------------------------------
+diff -Nur ../binutils-2.18.orig/binutils/doc/objcopy.1 ./binutils/doc/objcopy.1
+--- ../binutils-2.18.orig/binutils/doc/objcopy.1 Tue Oct 23 21:44:42 2007
++++ ./binutils/doc/objcopy.1 Tue Oct 23 22:18:44 2007
+@@ -193,6 +193,8 @@
+ [\fB\-\-readonly\-text\fR]
+ [\fB\-\-pure\fR]
+ [\fB\-\-impure\fR]
++ [\fB\-\-change\-pathname\fR \fIold\fR=\fInew\fR]
++ [\fB\-\-basename\fR]
+ [\fB\-v\fR|\fB\-\-verbose\fR]
+ [\fB\-V\fR|\fB\-\-version\fR]
+ [\fB\-\-help\fR] [\fB\-\-info\fR]
+@@ -807,6 +809,23 @@
+ It can also be a useful way of reducing the size of a \fB\-\-just\-symbols\fR
+ linker input file.
+ .RE
++.IP "\fB\-\-change\-pathname\fR \fIold\fR=\fInew\fR" 4
++.IX Item "--change-pathname old=new"
++When converting debugging information using \fB\-\-debugging\fR, for
++every pathname that starts with \fIold\fR, replace the matching part
++by \fInew\fR. This is intented to map pathnames between different
++debugging tools, or when parts of the object file(s) had their
++pathnames recorded in a different build environment. Note that only
++leading directory name components might be changed that way, since the
++trailing filename could be recorded elsewhere as well (depending on the
++debugging format of the input file).
++.IP "\fB\-\-basename\fR"
++.IX Item "--basename"
++When converting debugging information using \fB\-\-debugging\fR, for
++every pathname, strip all leading directory information. This option
++takes precedence over any \fB\-\-change\-pathname\fR option. For some
++debugging formats that cannot handle long filenames, this options is
++implied (notably, some COFF debugging formats).
+ .IP "\fB\-V\fR" 4
+ .IX Item "-V"
+ .PD 0
+diff -Nur ../binutils-2.18.orig/binutils/Makefile.am ./binutils/Makefile.am
+--- ../binutils-2.18.orig/binutils/Makefile.am Tue Oct 23 21:44:42 2007
++++ ./binutils/Makefile.am Tue Oct 23 22:22:40 2007
+@@ -98,7 +98,7 @@
+ resbin.c rescoff.c resrc.c resres.c \
+ size.c srconv.c stabs.c strings.c sysdump.c \
+ unwind-ia64.c version.c \
+- windres.c winduni.c wrstabs.c \
++ windres.c winduni.c wrcoff.c wrstabs.c \
+ windmc.c mclex.c
+
+ GENERATED_CFILES = \
+@@ -106,7 +106,7 @@
+ defparse.c deflex.c nlmheader.c rcparse.c mcparse.c
+
+ DEBUG_SRCS = rddbg.c debug.c stabs.c ieee.c rdcoff.c
+-WRITE_DEBUG_SRCS = $(DEBUG_SRCS) wrstabs.c
++WRITE_DEBUG_SRCS = $(DEBUG_SRCS) wrstabs.c wrcoff.c
+
+ # Code shared by all the binutils.
+ BULIBS = bucomm.c version.c filemode.c
+diff -Nur ../binutils-2.18.orig/binutils/Makefile.in ./binutils/Makefile.in
+--- ../binutils-2.18.orig/binutils/Makefile.in Tue Oct 23 21:44:42 2007
++++ ./binutils/Makefile.in Tue Oct 23 22:26:52 2007
+@@ -129,7 +129,7 @@
+ nm_new_OBJECTS = $(am_nm_new_OBJECTS)
+ nm_new_LDADD = $(LDADD)
+ am__objects_2 = rddbg.$(OBJEXT) debug.$(OBJEXT) stabs.$(OBJEXT) \
+- ieee.$(OBJEXT) rdcoff.$(OBJEXT)
++ ieee.$(OBJEXT) rdcoff.$(OBJEXT) wrcoff.$(OBJEXT)
+ am__objects_3 = $(am__objects_2) wrstabs.$(OBJEXT)
+ am_objcopy_OBJECTS = objcopy.$(OBJEXT) not-strip.$(OBJEXT) \
+ rename.$(OBJEXT) $(am__objects_3) $(am__objects_1)
+@@ -418,7 +418,7 @@
+ resbin.c rescoff.c resrc.c resres.c \
+ size.c srconv.c stabs.c strings.c sysdump.c \
+ unwind-ia64.c version.c \
+- windres.c winduni.c wrstabs.c \
++ windres.c winduni.c wrcoff.c wrstabs.c \
+ windmc.c mclex.c
+
+ GENERATED_CFILES = \
+@@ -426,7 +426,7 @@
+ defparse.c deflex.c nlmheader.c rcparse.c mcparse.c
+
+ DEBUG_SRCS = rddbg.c debug.c stabs.c ieee.c rdcoff.c
+-WRITE_DEBUG_SRCS = $(DEBUG_SRCS) wrstabs.c
++WRITE_DEBUG_SRCS = $(DEBUG_SRCS) wrstabs.c wrcoff.c
+
+ # Code shared by all the binutils.
+ BULIBS = bucomm.c version.c filemode.c
+diff -Nur ../binutils-2.18.orig/binutils/bucomm.c ./binutils/bucomm.c
+--- ../binutils-2.18.orig/binutils/bucomm.c Tue Oct 23 21:44:42 2007
++++ ./binutils/bucomm.c Tue Oct 23 22:18:44 2007
+@@ -501,6 +501,32 @@
+ return ret;
+ }
+
++/* Return the basename of "file", i. e. everything minus whatever
++ directory part has been provided. Stolen from bfd/archive.c.
++ Should we also handle the VMS case (as in bfd/archive.c)? */
++const char *
++bu_basename (file)
++ const char *file;
++{
++ const char *filename = strrchr (file, '/');
++
++#ifdef HAVE_DOS_BASED_FILE_SYSTEM
++ {
++ /* We could have foo/bar\\baz, or foo\\bar, or d:bar. */
++ char *bslash = strrchr (file, '\\');
++ if (filename == NULL || (bslash != NULL && bslash > filename))
++ filename = bslash;
++ if (filename == NULL && file[0] != '\0' && file[1] == ':')
++ filename = file + 1;
++ }
++#endif
++ if (filename != (char *) NULL)
++ filename++;
++ else
++ filename = file;
++ return filename;
++}
++
+ /* Returns the size of the named file. If the file does not
+ exist, or if it is not a real file, then a suitable non-fatal
+ error message is printed and zero is returned. */
+diff -Nur ../binutils-2.18.orig/binutils/bucomm.h ./binutils/bucomm.h
+--- ../binutils-2.18.orig/binutils/bucomm.h Tue Oct 23 21:44:42 2007
++++ ./binutils/bucomm.h Tue Oct 23 22:18:44 2007
+@@ -54,6 +54,8 @@
+
+ off_t get_file_size (const char *);
+
++const char *bu_basename PARAMS ((const char *));
++
+ extern char *program_name;
+
+ /* filemode.c */
+diff -Nur ../binutils-2.18.orig/binutils/budbg.h ./binutils/budbg.h
+--- ../binutils-2.18.orig/binutils/budbg.h Tue Oct 23 21:44:42 2007
++++ ./binutils/budbg.h Tue Oct 23 22:18:44 2007
+@@ -51,8 +51,11 @@
+
+ extern bfd_boolean write_ieee_debugging_info (bfd *, void *);
+
+-/* Routine used to read COFF debugging information. */
++/* Routine used to read and write COFF debugging information. */
+
+ extern bfd_boolean parse_coff (bfd *, asymbol **, long, void *);
++
++extern bfd_boolean write_coff_debugging_info
++ (bfd *abfd, void *, long *symcountp, asymbol ***);
+
+ #endif
+--- binutils/debug.c.orig Mon Aug 6 21:55:10 2007
++++ binutils/debug.c Tue Oct 23 23:43:19 2007
+@@ -31,6 +31,7 @@
+ #include <assert.h>
+ #include "bfd.h"
+ #include "libiberty.h"
++#include "bucomm.h"
+ #include "debug.h"
+
+ /* Global information we keep for debugging. A pointer to this
+@@ -552,6 +553,19 @@
+ struct debug_type *t;
+ };
+
++/* Simple list, used for pathname translations. */
++struct xlat_list
++{
++ /* Next string on list. */
++ struct xlat_list *next;
++ /* Old part to match against. */
++ const char *old;
++ size_t olen;
++ /* New part to replace. */
++ const char *newstr;
++ size_t nlen;
++};
++
+ /* Local functions. */
+
+ static void debug_error (const char *);
+@@ -588,6 +602,11 @@
+ (struct debug_handle *, struct debug_type *, struct debug_type *);
+ static bfd_boolean debug_class_type_samep
+ (struct debug_handle *, struct debug_type *, struct debug_type *);
++static const char *debug_xlat_pathname (const char *);
++
++/* List of pathname translations. */
++static struct xlat_list *xlat, *xltail;
++static bfd_boolean xlat_basename;
+
+ /* Issue an error message. */
+
+@@ -680,6 +699,8 @@
+
+ if (name == NULL)
+ name = "";
++ else
++ name = debug_xlat_pathname (name);
+
+ nfile = (struct debug_file *) xmalloc (sizeof *nfile);
+ memset (nfile, 0, sizeof *nfile);
+@@ -720,6 +741,8 @@
+
+ if (name == NULL)
+ name = "";
++ else
++ name = debug_xlat_pathname (name);
+
+ if (info->current_unit == NULL)
+ {
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/crossavr-binutils-avr-size.patch?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list