Hello community, here is the log from the commit of package binutils for openSUSE:Factory checked in at 2019-11-18 19:57:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/binutils (Old) and /work/SRC/openSUSE:Factory/.binutils.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "binutils" Mon Nov 18 19:57:44 2019 rev:140 rq:748099 version:2.33.1 Changes: -------- --- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2019-10-11 15:09:27.665399375 +0200 +++ /work/SRC/openSUSE:Factory/.binutils.new.26869/binutils.changes 2019-11-18 19:57:58.745966760 +0100 @@ -1,0 +2,71 @@ +Tue Oct 22 13:45:51 UTC 2019 - Martin Liška <[email protected]> + +- Update to binutils 2.33.1: + * Adds support for the Arm Scalable Vector Extension version 2 + (SVE2) instructions, the Arm Transactional Memory Extension (TME) + instructions and the Armv8.1-M Mainline and M-profile Vector + Extension (MVE) instructions. + * Adds support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P + processors and the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE, + Cortex-A76AE, and Cortex-A77 processors. + * Adds a .float16 directive for both Arm and AArch64 to allow + encoding of 16-bit floating point literals. + * For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) + Loongson3 LLSC Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] + configure time option to set the default behavior. Set the default + if the configure option is not used to "no". + * The Cortex-A53 Erratum 843419 workaround now supports a choice of + which workaround to use. The option --fix-cortex-a53-843419 now + takes an optional argument --fix-cortex-a53-843419[=full|adr|adrp] + which can be used to force a particular workaround to be used. + See --help for AArch64 for more details. + * Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI and + GNU_PROPERTY_AARCH64_FEATURE_1_PAC in ELF GNU program properties + in the AArch64 ELF linker. + * Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on inputs and use PLTs protected with BTI. + * Add -z pac-plt for AArch64 to pick PAC enabled PLTs. + * Add --source-comment[=<txt>] option to objdump which if present, + provides a prefix to source code lines displayed in a disassembly. + * Add --set-section-alignment <section-name>=<power-of-2-align> + option to objcopy to allow the changing of section alignments. + * Add --verilog-data-width option to objcopy for verilog targets to + control width of data elements in verilog hex format. + * The separate debug info file options of readelf (--debug-dump=links + and --debug-dump=follow) and objdump (--dwarf=links and + --dwarf=follow-links) will now display and/or follow multiple + links if more than one are present in a file. (This usually + happens when gcc's -gsplit-dwarf option is used). + In addition objdump's --dwarf=follow-links now also affects its + other display options, so that for example, when combined with + --syms it will cause the symbol tables in any linked debug info + files to also be displayed. In addition when combined with + --disassemble the --dwarf= follow-links option will ensure that + any symbol tables in the linked files are read and used when + disassembling code in the main file. + * Add support for dumping types encoded in the Compact Type Format + to objdump and readelf. +- Includes fixes for these CVEs: + bnc#1126826 aka CVE-2019-9077 aka PR1126826 + bnc#1126829 aka CVE-2019-9075 aka PR1126829 + bnc#1126831 aka CVE-2019-9074 aka PR24235 + bnc#1140126 aka CVE-2019-12972 aka PR23405 + bnc#1143609 aka CVE-2019-14444 aka PR24829 + bnc#1142649 aka CVE-2019-14250 aka PR90924 +- Remove patches that are now included in the release: + binutils-2.32-branch.diff.gz, binutils-fix-ld-segv.diff, + binutils-pr24486.patch, riscv-abi-check.patch, + rx-gas-padding-pr24464.patch. +- Add binutils-2.33-branch.diff.gz patch. +- Rebase binutils-revert-plt32-in-branches.diff and + cross-avr-size.patch patch. + +------------------------------------------------------------------- +Tue Oct 15 14:05:57 UTC 2019 - [email protected] + +- Add binutils-fix-ld-segv.diff to fix a segfault in ld + when building some versions of pacemaker. [bsc#1154025, + bsc#1154016] + +------------------------------------------------------------------- cross-aarch64-binutils.changes: same change cross-arm-binutils.changes: same change cross-avr-binutils.changes: same change cross-epiphany-binutils.changes: same change cross-hppa-binutils.changes: same change cross-hppa64-binutils.changes: same change cross-i386-binutils.changes: same change cross-ia64-binutils.changes: same change cross-m68k-binutils.changes: same change cross-mips-binutils.changes: same change cross-ppc-binutils.changes: same change cross-ppc64-binutils.changes: same change cross-ppc64le-binutils.changes: same change cross-riscv64-binutils.changes: same change cross-rx-binutils.changes: same change cross-s390-binutils.changes: same change cross-s390x-binutils.changes: same change cross-sparc-binutils.changes: same change cross-sparc64-binutils.changes: same change cross-spu-binutils.changes: same change cross-x86_64-binutils.changes: same change cross-xtensa-binutils.changes: same change Old: ---- binutils-2.32-branch.diff.gz binutils-2.32.tar.bz2 binutils-2.32.tar.bz2.sig binutils-pr24486.patch riscv-abi-check.patch rx-gas-padding-pr24464.patch New: ---- binutils-2.33-branch.diff.gz binutils-2.33.1.tar.bz2 binutils-2.33.1.tar.bz2.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ binutils.spec ++++++ --- /var/tmp/diff_new_pack.ahhbDM/_old 2019-11-18 19:58:15.225958488 +0100 +++ /var/tmp/diff_new_pack.ahhbDM/_new 2019-11-18 19:58:15.237958481 +0100 @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -33,7 +33,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.32 +Version: 2.33.1 Release: 0 # # RUN_TESTS @@ -81,7 +81,7 @@ Source1: pre_checkin.sh Source2: README.First-for.SUSE.packagers Source3: baselibs.conf -Patch1: binutils-2.32-branch.diff.gz +Patch1: binutils-2.33-branch.diff.gz Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -95,9 +95,6 @@ Patch34: aarch64-common-pagesize.patch Patch36: binutils-pr22868.diff Patch37: binutils-revert-plt32-in-branches.diff -Patch38: riscv-abi-check.patch -Patch39: rx-gas-padding-pr24464.patch -Patch40: binutils-pr24486.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -170,14 +167,11 @@ %if %{suse_version} < 1550 %patch37 -p1 %endif -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 %patch92 -%patch93 +%patch93 -p1 %endif # # test_vanilla ++++++ cross-aarch64-binutils.spec ++++++ --- /var/tmp/diff_new_pack.ahhbDM/_old 2019-11-18 19:58:15.261958470 +0100 +++ /var/tmp/diff_new_pack.ahhbDM/_new 2019-11-18 19:58:15.269958465 +0100 @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -36,7 +36,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.32 +Version: 2.33.1 Release: 0 # # RUN_TESTS @@ -84,7 +84,7 @@ Source1: pre_checkin.sh Source2: README.First-for.SUSE.packagers Source3: baselibs.conf -Patch1: binutils-2.32-branch.diff.gz +Patch1: binutils-2.33-branch.diff.gz Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch @@ -98,9 +98,6 @@ Patch34: aarch64-common-pagesize.patch Patch36: binutils-pr22868.diff Patch37: binutils-revert-plt32-in-branches.diff -Patch38: riscv-abi-check.patch -Patch39: rx-gas-padding-pr24464.patch -Patch40: binutils-pr24486.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -173,14 +170,11 @@ %if %{suse_version} < 1550 %patch37 -p1 %endif -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 %patch92 -%patch93 +%patch93 -p1 %endif # # test_vanilla cross-arm-binutils.spec: same change cross-avr-binutils.spec: same change cross-epiphany-binutils.spec: same change cross-hppa-binutils.spec: same change cross-hppa64-binutils.spec: same change cross-i386-binutils.spec: same change cross-ia64-binutils.spec: same change cross-m68k-binutils.spec: same change cross-mips-binutils.spec: same change cross-ppc-binutils.spec: same change cross-ppc64-binutils.spec: same change cross-ppc64le-binutils.spec: same change cross-riscv64-binutils.spec: same change cross-rx-binutils.spec: same change cross-s390-binutils.spec: same change cross-s390x-binutils.spec: same change cross-sparc-binutils.spec: same change cross-sparc64-binutils.spec: same change cross-spu-binutils.spec: same change cross-x86_64-binutils.spec: same change cross-xtensa-binutils.spec: same change ++++++ binutils-2.32-branch.diff.gz -> binutils-2.33-branch.diff.gz ++++++ Binary files /work/SRC/openSUSE:Factory/binutils/binutils-2.32-branch.diff.gz and /work/SRC/openSUSE:Factory/.binutils.new.26869/binutils-2.33-branch.diff.gz differ ++++++ binutils-2.32.tar.bz2 -> binutils-2.33.1.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/binutils/binutils-2.32.tar.bz2 /work/SRC/openSUSE:Factory/.binutils.new.26869/binutils-2.33.1.tar.bz2 differ: char 11, line 1 ++++++ binutils-revert-plt32-in-branches.diff ++++++ --- /var/tmp/diff_new_pack.ahhbDM/_old 2019-11-18 19:58:16.013958092 +0100 +++ /var/tmp/diff_new_pack.ahhbDM/_new 2019-11-18 19:58:16.025958085 +0100 @@ -78,11 +78,11 @@ * testsuite/ld-x86-64/pr22791-2c.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run PR ld/22791 tests. -Index: binutils-2.32/bfd/elf64-x86-64.c +Index: binutils-2.33.1/bfd/elf64-x86-64.c =================================================================== ---- binutils-2.32.orig/bfd/elf64-x86-64.c 2019-09-09 18:29:44.000000000 +0200 -+++ binutils-2.32/bfd/elf64-x86-64.c 2019-09-09 18:31:48.000000000 +0200 -@@ -1789,6 +1789,24 @@ rewrite_modrm_rex: +--- binutils-2.33.1.orig/bfd/elf64-x86-64.c 2019-09-09 15:19:43.000000000 +0200 ++++ binutils-2.33.1/bfd/elf64-x86-64.c 2019-10-30 14:26:33.000000000 +0100 +@@ -1798,6 +1798,24 @@ rewrite_modrm_rex: return TRUE; } @@ -107,62 +107,62 @@ /* Look through the relocs for a section during the first phase, and calculate needed space in the global offset table, procedure linkage table, and dynamic reloc sections. */ -@@ -2248,28 +2266,30 @@ check_pic: - && (eh == NULL - || !UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, - eh))) -- || (bfd_link_pie (info) -- && !SYMBOL_DEFINED_NON_SHARED_P (h) -- && h->def_dynamic) - || (no_copyreloc_p - && h->def_dynamic - && !(h->root.u.def.section->flags & SEC_CODE)))) - || bfd_link_dll (info))) - { - bfd_boolean fail = FALSE; -+ bfd_boolean branch -+ = ((r_type == R_X86_64_PC32 -+ || r_type == R_X86_64_PC32_BND) -+ && is_32bit_relative_branch (contents, rel->r_offset)); +@@ -3089,28 +3107,30 @@ use_plt: + && (eh == NULL + || !UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, + eh))) +- || (bfd_link_pie (info) +- && !SYMBOL_DEFINED_NON_SHARED_P (h) +- && h->def_dynamic) + || (no_copyreloc_p + && h->def_dynamic + && !(h->root.u.def.section->flags & SEC_CODE)))) + || bfd_link_dll (info))) + { + bfd_boolean fail = FALSE; ++ bfd_boolean branch ++ = ((r_type == R_X86_64_PC32 ++ || r_type == R_X86_64_PC32_BND) ++ && is_32bit_relative_branch (contents, rel->r_offset)); + - if (SYMBOL_REFERENCES_LOCAL_P (info, h)) - { - /* Symbol is referenced locally. Make sure it is -- defined locally. */ -- fail = !SYMBOL_DEFINED_NON_SHARED_P (h); -+ defined locally or for a branch. */ -+ fail = !SYMBOL_DEFINED_NON_SHARED_P (h) && !branch; - } - else if (bfd_link_pie (info)) - { - /* We can only use PC-relative relocations in PIE -- from non-code sections. */ -+ from non-code sections or branches. */ - if (h->type == STT_FUNC - && (sec->flags & SEC_CODE) != 0) -- fail = TRUE; -+ fail = !branch; - } - else if (no_copyreloc_p || bfd_link_dll (info)) - { -@@ -2278,9 +2298,10 @@ check_pic: - relocations against default and protected - symbols since address of protected function - and location of protected data may not be in -- the shared object. */ -+ the shared object. We do allow branch to symbol -+ with non-default visibility. */ - fail = (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT -- || ELF_ST_VISIBILITY (h->other) == STV_PROTECTED); -+ || !branch); - } - - if (fail) -Index: binutils-2.32/gas/config/tc-i386.c -=================================================================== ---- binutils-2.32.orig/gas/config/tc-i386.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/config/tc-i386.c 2019-09-09 18:29:44.000000000 +0200 -@@ -7690,46 +7690,12 @@ output_branch (void) + if (SYMBOL_REFERENCES_LOCAL_P (info, h)) + { + /* Symbol is referenced locally. Make sure it is +- defined locally. */ +- fail = !SYMBOL_DEFINED_NON_SHARED_P (h); ++ defined locally or for a branch. */ ++ fail = !SYMBOL_DEFINED_NON_SHARED_P (h) && !branch; + } + else if (bfd_link_pie (info)) + { + /* We can only use PC-relative relocations in PIE +- from non-code sections. */ ++ from non-code sections or branches. */ + if (h->type == STT_FUNC + && (sec->flags & SEC_CODE) != 0) +- fail = TRUE; ++ fail = !branch; + } + else if (no_copyreloc_p || bfd_link_dll (info)) + { +@@ -3119,9 +3139,10 @@ use_plt: + relocations against default and protected + symbols since address of protected function + and location of protected data may not be in +- the shared object. */ ++ the shared object. We do allow branch to symbol ++ with non-default visibility. */ + fail = (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT +- || ELF_ST_VISIBILITY (h->other) == STV_PROTECTED); ++ || !branch); + } + + if (fail) +Index: binutils-2.33.1/gas/config/tc-i386.c +=================================================================== +--- binutils-2.33.1.orig/gas/config/tc-i386.c 2019-10-07 11:53:50.000000000 +0200 ++++ binutils-2.33.1/gas/config/tc-i386.c 2019-10-30 14:26:33.000000000 +0100 +@@ -7877,52 +7877,12 @@ output_branch (void) frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p); } @@ -177,6 +177,12 @@ - if (!IS_ELF) - return FALSE; - +-#ifdef TE_SOLARIS +- /* Don't emit PLT32 relocation on Solaris: neither native linker nor +- krtld support it. */ +- return FALSE; +-#endif +- - /* Since there is no need to prepare for PLT branch on x86-64, we - can generate R_X86_64_PLT32, instead of R_X86_64_PC32, which can - be used as a marker for 32-bit PC-relative branches. */ @@ -209,7 +215,7 @@ if (i.tm.opcode_modifier.jumpbyte) { -@@ -7797,17 +7763,8 @@ output_jump (void) +@@ -7990,17 +7950,8 @@ output_jump (void) abort (); } @@ -228,7 +234,7 @@ /* All jumps handled here are signed, but don't use a signed limit check for 32 and 16 bit jumps as we want to allow wrap around at -@@ -10236,10 +10193,6 @@ md_estimate_size_before_relax (fragS *fr +@@ -10430,10 +10381,6 @@ md_estimate_size_before_relax (fragS *fr reloc_type = (enum bfd_reloc_code_real) fragP->fr_var; else if (size == 2) reloc_type = BFD_RELOC_16_PCREL; @@ -239,10 +245,10 @@ else reloc_type = BFD_RELOC_32_PCREL; -Index: binutils-2.32/gas/testsuite/gas/i386/ilp32/reloc64.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/ilp32/reloc64.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/ilp32/reloc64.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/ilp32/reloc64.d 2019-09-09 18:29:44.000000000 +0200 +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/ilp32/reloc64.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/ilp32/reloc64.d 2019-10-30 14:26:33.000000000 +0100 @@ -17,7 +17,7 @@ Disassembly of section \.text: .*[ ]+R_X86_64_PC8[ ]+xtrn\+0x0*1 .*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4 @@ -252,10 +258,10 @@ .*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1 .*[ ]+R_X86_64_GOT32[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn -Index: binutils-2.32/gas/testsuite/gas/i386/ilp32/x86-64-branch.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/ilp32/x86-64-branch.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/ilp32/x86-64-branch.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/ilp32/x86-64-branch.d 2019-09-09 18:29:44.000000000 +0200 +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/ilp32/x86-64-branch.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/ilp32/x86-64-branch.d 2019-10-30 14:26:33.000000000 +0100 @@ -20,9 +20,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 ff 20 data16 jmpq \*\(%rax\) [ ]*[a-f0-9]+: e8 00 00 00 00 callq 0x1f 1b: R_X86_64_PC32 \*ABS\*\+0x10003c @@ -269,11 +275,11 @@ [ ]*[a-f0-9]+: ff d0 callq \*%rax [ ]*[a-f0-9]+: ff d0 callq \*%rax [ ]*[a-f0-9]+: 66 ff d0 data16 callq \*%rax -Index: binutils-2.32/gas/testsuite/gas/i386/reloc64.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/reloc64.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/reloc64.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/reloc64.d 2019-09-09 18:29:44.000000000 +0200 -@@ -19,7 +19,7 @@ Disassembly of section \.text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/reloc64.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/reloc64.d 2019-10-30 14:26:33.000000000 +0100 +@@ -20,7 +20,7 @@ Disassembly of section \.text: .*[ ]+R_X86_64_PC8[ ]+xtrn\+0x0*1 .*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4 .*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4 @@ -282,11 +288,11 @@ .*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1 .*[ ]+R_X86_64_GOT64[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-jump.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-jump.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-jump.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-jump.d 2019-09-09 18:29:44.000000000 +0200 -@@ -8,7 +8,7 @@ Disassembly of section .text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-jump.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-jump.d 2019-10-30 14:26:33.000000000 +0100 +@@ -9,7 +9,7 @@ Disassembly of section .text: 0+ <.text>: [ ]*[a-f0-9]+: eb fe jmp (0x0|0 <.text>) @@ -295,7 +301,7 @@ [ ]*[a-f0-9]+: ff 24 25 00 00 00 00 jmpq \*0x0 a: R_X86_64_32S xxx [ ]*[a-f0-9]+: ff e7 jmpq \*%rdi [ ]*[a-f0-9]+: ff 27 jmpq \*\(%rdi\) -@@ -17,7 +17,7 @@ Disassembly of section .text: +@@ -18,7 +18,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: ff 2c 25 00 00 00 00 ljmp \*0x0 24: R_X86_64_32S xxx [ ]*[a-f0-9]+: 66 ff 2c 25 00 00 00 00 ljmpw \*0x0 2c: R_X86_64_32S xxx [ ]*[a-f0-9]+: e8 cb ff ff ff callq 0x0 @@ -304,11 +310,11 @@ [ ]*[a-f0-9]+: ff 14 25 00 00 00 00 callq \*0x0 3d: R_X86_64_32S xxx [ ]*[a-f0-9]+: ff d7 callq \*%rdi [ ]*[a-f0-9]+: ff 17 callq \*\(%rdi\) -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d 2019-09-09 18:29:44.000000000 +0200 -@@ -20,9 +20,9 @@ Disassembly of section .text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d 2019-10-30 14:26:33.000000000 +0100 +@@ -21,9 +21,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 24 <foo2> 0+24 <foo2>: @@ -321,11 +327,11 @@ [ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3d <foo2\+0x19> 39: R_X86_64_PLT32 foo-0x4 [ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 44 <foo2\+0x20> 40: R_X86_64_PLT32 foo-0x4 [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 4a <foo2\+0x26> 46: R_X86_64_PLT32 foo-0x4 -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d 2019-09-09 18:29:44.000000000 +0200 -@@ -20,9 +20,9 @@ Disassembly of section .text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d 2019-10-30 14:26:33.000000000 +0100 +@@ -21,9 +21,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 24 <foo2> 0+24 <foo2>: @@ -338,44 +344,44 @@ [ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3d <foo2\+0x19> 39: R_X86_64_PLT32 foo-0x4 [ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 44 <foo2\+0x20> 40: R_X86_64_PLT32 foo-0x4 [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 4a <foo2\+0x26> 46: R_X86_64_PLT32 foo-0x4 -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-nop-3.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-nop-3.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-nop-3.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-nop-3.d 2019-09-09 18:29:44.000000000 +0200 -@@ -17,5 +17,5 @@ Disassembly of section .text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-nop-3.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-nop-3.d 2019-10-30 14:26:33.000000000 +0100 +@@ -18,5 +18,5 @@ Disassembly of section .text: Disassembly of section .altinstr_replacement: 0+ <.altinstr_replacement>: - +[a-f0-9]+: e9 00 00 00 00 jmpq 5 <_start\+0x5> 1: R_X86_64_PLT32 foo-0x4 + +[a-f0-9]+: e9 00 00 00 00 jmpq 5 <_start\+0x5> 1: R_X86_64_PC32 foo-0x4 #pass -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-nop-4.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-nop-4.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-nop-4.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-nop-4.d 2019-09-09 18:29:44.000000000 +0200 -@@ -20,5 +20,5 @@ Disassembly of section .altinstr_replace +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-nop-4.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-nop-4.d 2019-10-30 14:26:33.000000000 +0100 +@@ -21,5 +21,5 @@ Disassembly of section .altinstr_replace +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax - +[a-f0-9]+: e9 00 00 00 00 jmpq b <_start\+0xb> 7: R_X86_64_PLT32 foo-0x4 + +[a-f0-9]+: e9 00 00 00 00 jmpq b <_start\+0xb> 7: R_X86_64_PC32 foo-0x4 #pass -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-nop-5.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-nop-5.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-nop-5.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-nop-5.d 2019-09-09 18:29:44.000000000 +0200 -@@ -23,5 +23,5 @@ Disassembly of section .altinstr_replace +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-nop-5.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-nop-5.d 2019-10-30 14:26:33.000000000 +0100 +@@ -24,5 +24,5 @@ Disassembly of section .altinstr_replace +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax +[a-f0-9]+: 89 c0 mov %eax,%eax - +[a-f0-9]+: e9 00 00 00 00 jmpq d <_start\+0xd> 9: R_X86_64_PLT32 foo-0x4 + +[a-f0-9]+: e9 00 00 00 00 jmpq d <_start\+0xd> 9: R_X86_64_PC32 foo-0x4 #pass -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-relax-2.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-relax-2.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-relax-2.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-relax-2.d 2019-09-09 18:29:44.000000000 +0200 -@@ -10,12 +10,12 @@ Disassembly of section .text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-relax-2.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-relax-2.d 2019-10-30 14:26:33.000000000 +0100 +@@ -11,12 +11,12 @@ Disassembly of section .text: 0+ <foo>: [ ]*[a-f0-9]+: eb 24 jmp 26 <local> [ ]*[a-f0-9]+: eb 1e jmp 22 <hidden_def> @@ -393,11 +399,11 @@ 0+22 <hidden_def>: [ ]*[a-f0-9]+: c3 retq -Index: binutils-2.32/gas/testsuite/gas/i386/x86-64-relax-3.d +Index: binutils-2.33.1/gas/testsuite/gas/i386/x86-64-relax-3.d =================================================================== ---- binutils-2.32.orig/gas/testsuite/gas/i386/x86-64-relax-3.d 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32/gas/testsuite/gas/i386/x86-64-relax-3.d 2019-09-09 18:29:44.000000000 +0200 -@@ -11,10 +11,10 @@ Disassembly of section .text: +--- binutils-2.33.1.orig/gas/testsuite/gas/i386/x86-64-relax-3.d 2019-09-09 15:19:44.000000000 +0200 ++++ binutils-2.33.1/gas/testsuite/gas/i386/x86-64-relax-3.d 2019-10-30 14:26:33.000000000 +0100 +@@ -12,10 +12,10 @@ Disassembly of section .text: [ ]*[a-f0-9]+: eb 1b jmp 1f <hidden_def> [ ]*[a-f0-9]+: eb 1b jmp 21 <global_def> [ ]*[a-f0-9]+: e9 00 00 00 00 jmpq b <foo\+0xb> 7: R_X86_64_PLT32 global_def-0x4 @@ -412,34 +418,27 @@ 0+1f <hidden_def>: [ ]*[a-f0-9]+: c3 retq -Index: binutils-2.32/ld/testsuite/ld-x86-64/mpx1c.rd +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/mpx1c.rd =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/mpx1c.rd 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32/ld/testsuite/ld-x86-64/mpx1c.rd 2019-09-09 18:29:44.000000000 +0200 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/mpx1c.rd 2019-09-09 15:19:45.000000000 +0200 ++++ binutils-2.33.1/ld/testsuite/ld-x86-64/mpx1c.rd 2019-10-30 14:26:33.000000000 +0100 @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PC32 +0+ +.* #... -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-1.err +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-1a.c =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-1.err 2019-01-19 17:01:34.000000000 +0100 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,2 +0,0 @@ --.*relocation R_X86_64_PC32 against symbol `foo' can not be used when making a PIE object; recompile with -fPIC --#... -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-1a.c -=================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-1a.c 2019-01-19 17:01:34.000000000 +0100 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-1a.c 2019-09-09 15:19:45.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -void -foo (void) -{ -} -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-1b.s +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-1b.s =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-1b.s 2019-01-19 17:01:34.000000000 +0100 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-1b.s 2019-09-09 15:19:45.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ - .text @@ -448,9 +447,9 @@ -main: - movl foo(%rip), %eax - .size main, .-main -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-2.rd +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-2.rd =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-2.rd 2019-01-19 17:01:34.000000000 +0100 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-2.rd 2019-09-09 15:19:45.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#failif @@ -459,9 +458,9 @@ -#... -[0-9a-f ]+R_X86_64_NONE.* -#... -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-2a.s +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-2a.s =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-2a.s 2019-01-19 17:01:34.000000000 +0100 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-2a.s 2019-09-09 15:19:45.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ - .text @@ -472,9 +471,9 @@ - jmp bar - .size foo, .-foo - .section .note.GNU-stack,"",@progbits -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-2b.c +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-2b.c =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-2b.c 2019-01-19 17:01:34.000000000 +0100 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-2b.c 2019-09-09 15:19:45.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#include <stdio.h> @@ -484,9 +483,9 @@ -{ - puts ("PASS"); -} -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22791-2c.s +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-2c.s =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22791-2c.s 2019-01-19 17:01:34.000000000 +0100 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-2c.s 2019-09-09 15:19:45.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ - .text @@ -501,10 +500,10 @@ - ret - .size main, .-main - .section .note.GNU-stack,"",@progbits -Index: binutils-2.32/ld/testsuite/ld-x86-64/pr22842b.S +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22842b.S =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/pr22842b.S 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32/ld/testsuite/ld-x86-64/pr22842b.S 2019-09-09 18:29:44.000000000 +0200 +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22842b.S 2019-09-09 15:19:45.000000000 +0200 ++++ binutils-2.33.1/ld/testsuite/ld-x86-64/pr22842b.S 2019-10-30 14:26:33.000000000 +0100 @@ -7,7 +7,7 @@ main: leaq bar(%rip), %rdi addq %rax, %rdi @@ -514,11 +513,11 @@ xorl %eax, %eax popq %rcx retq -Index: binutils-2.32/ld/testsuite/ld-x86-64/x86-64.exp +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/x86-64.exp =================================================================== ---- binutils-2.32.orig/ld/testsuite/ld-x86-64/x86-64.exp 2019-09-09 18:29:44.000000000 +0200 -+++ binutils-2.32/ld/testsuite/ld-x86-64/x86-64.exp 2019-09-09 18:29:44.000000000 +0200 -@@ -1208,44 +1208,6 @@ if { [isnative] && [which $CC] != 0 } { +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/x86-64.exp 2019-09-09 15:19:45.000000000 +0200 ++++ binutils-2.33.1/ld/testsuite/ld-x86-64/x86-64.exp 2019-10-30 14:26:33.000000000 +0100 +@@ -1244,44 +1244,6 @@ if { [isnative] && [check_compiler_avail "pr22393-3-static" \ ] \ [list \ @@ -563,7 +562,7 @@ "Build pr22842.so" \ "-shared" \ "-fPIC -Wa,-mx86-used-note=yes" \ -@@ -1588,15 +1550,6 @@ if { [isnative] && [which $CC] != 0 } { +@@ -1624,15 +1586,6 @@ if { [isnative] && [check_compiler_avail "pass.out" \ ] \ [list \ @@ -579,3 +578,10 @@ "Run pr22842" \ "-pie -Wl,--no-as-needed tmpdir/pr22842.so" \ "-Wa,-mx86-used-note=yes" \ +Index: binutils-2.33.1/ld/testsuite/ld-x86-64/pr22791-1.err +=================================================================== +--- binutils-2.33.1.orig/ld/testsuite/ld-x86-64/pr22791-1.err 2019-09-09 15:19:45.000000000 +0200 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,2 +0,0 @@ +-.*relocation R_X86_64_PC32 against symbol `foo' can not be used when making a PIE object; recompile with -fPIE +-#... ++++++ cross-avr-size.patch ++++++ --- /var/tmp/diff_new_pack.ahhbDM/_old 2019-11-18 19:58:16.073958061 +0100 +++ /var/tmp/diff_new_pack.ahhbDM/_new 2019-11-18 19:58:16.073958061 +0100 @@ -1,53 +1,16 @@ diff --git a/binutils/size.c b/binutils/size.c -index 93ec02691e..ad7cbee7c5 100644 ---- binutils/size.c -+++ binutils/size.c -@@ -34,10 +34,31 @@ - #include "getopt.h" - #include "bucomm.h" - --#ifndef BSD_DEFAULT --#define BSD_DEFAULT 1 -+typedef enum -+{ -+ format_sysv = 0, -+ format_bsd = 1, -+ format_avr = 2, -+} format_type_t; -+ -+ -+/* Set the default format. */ -+#define FORMAT_DEFAULT_SYSV 0 -+#define FORMAT_DEFAULT_BSD 1 -+#define FORMAT_DEFAULT_AVR 0 -+ -+#if FORMAT_DEFAULT_SYSV -+ #define FORMAT_DEFAULT format_sysv -+ #define FORMAT_NAME "sysv" -+#elif FORMAT_DEFAULT_BSD -+ #define FORMAT_DEFAULT format_bsd -+ #define FORMAT_NAME "berkeley" -+#elif FORMAT_DEFAULT_AVR -+ #define FORMAT_DEFAULT format_avr -+ #define FORMAT_NAME "avr" - #endif - -+ - /* Program options. */ - - static enum -@@ -46,9 +67,8 @@ static enum - } - radix = decimal; - --/* 0 means use AT&T-style output. */ --static int berkeley_format = BSD_DEFAULT; - -+format_type_t format = FORMAT_DEFAULT; - static int show_version = 0; - static int show_help = 0; - static int show_totals = 0; -@@ -62,6 +82,246 @@ static bfd_size_type total_textsize; +index 479a464887..971156ccbe 100644 +--- a/binutils/size.c ++++ b/binutils/size.c +@@ -51,6 +51,7 @@ enum output_format + { + FORMAT_BERKLEY, + FORMAT_SYSV, ++ FORMAT_AVR, + FORMAT_GNU + }; + static enum output_format selected_output_format = +@@ -74,6 +75,246 @@ static bfd_size_type total_textsize; /* Program exit status. */ static int return_code = 0; @@ -294,30 +257,17 @@ static char *target = NULL; /* Forward declarations. */ -@@ -77,7 +337,8 @@ usage (FILE *stream, int status) +@@ -89,7 +330,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\ -- -A|-B --format={sysv|berkeley} Select output style (default is %s)\n\ -+ -A|-B|-C --format={sysv|berkeley|avr} Select output style (default is %s)\n\ +- -A|-B|-G --format={sysv|berkeley|gnu} Select output style (default is %s)\n\ ++ -A|-B|-C|-G --format={sysv|berkeley|avr|gnu} Select output style (default is %s)\n\ + --mcu=<avrmcu> MCU name for AVR format only\n\ -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\ -@@ -86,11 +347,7 @@ usage (FILE *stream, int status) - -h --help Display this information\n\ - -v --version Display the program's version\n\ - \n"), --#if BSD_DEFAULT -- "berkeley" --#else -- "sysv" --#endif -+FORMAT_NAME - ); - list_supported_targets (program_name, stream); - if (REPORT_BUGS_TO[0] && status == 0) -@@ -101,6 +358,7 @@ usage (FILE *stream, int status) +@@ -113,6 +355,7 @@ usage (FILE *stream, int status) #define OPTION_FORMAT (200) #define OPTION_RADIX (OPTION_FORMAT + 1) #define OPTION_TARGET (OPTION_RADIX + 1) @@ -325,7 +275,7 @@ static struct option long_options[] = { -@@ -108,6 +366,7 @@ static struct option long_options[] = +@@ -120,6 +363,7 @@ static struct option long_options[] = {"format", required_argument, 0, OPTION_FORMAT}, {"radix", required_argument, 0, OPTION_RADIX}, {"target", required_argument, 0, OPTION_TARGET}, @@ -333,34 +283,26 @@ {"totals", no_argument, &show_totals, 1}, {"version", no_argument, &show_version, 1}, {"help", no_argument, &show_help, 1}, -@@ -141,7 +400,7 @@ main (int argc, char **argv) +@@ -153,13 +397,17 @@ main (int argc, char **argv) fatal (_("fatal error: libbfd ABI mismatch")); set_default_bfd_target (); -- while ((c = getopt_long (argc, argv, "ABHhVvdfotx", long_options, -+ while ((c = getopt_long (argc, argv, "ABCHhVvdfotx", long_options, +- while ((c = getopt_long (argc, argv, "ABGHhVvdfotx", long_options, ++ while ((c = getopt_long (argc, argv, "ABCGHhVvdfotx", long_options, (int *) 0)) != EOF) switch (c) { -@@ -150,11 +409,15 @@ main (int argc, char **argv) + case OPTION_FORMAT: + switch (*optarg) { ++ case 'A': ++ case 'a': ++ selected_output_format = FORMAT_AVR; ++ break; case 'B': case 'b': -- berkeley_format = 1; -+ format = format_bsd; - break; - case 'S': - case 's': -- berkeley_format = 0; -+ format = format_sysv; -+ break; -+ case 'A': -+ case 'a': -+ format = format_avr; - break; - default: - non_fatal (_("invalid argument to --format: %s"), optarg); -@@ -162,6 +425,10 @@ main (int argc, char **argv) + selected_output_format = FORMAT_BERKLEY; +@@ -178,6 +426,10 @@ main (int argc, char **argv) } break; @@ -371,37 +313,20 @@ case OPTION_TARGET: target = optarg; break; -@@ -190,11 +457,14 @@ main (int argc, char **argv) - break; - - case 'A': -- berkeley_format = 0; -+ format = format_sysv; - break; +@@ -211,6 +463,9 @@ main (int argc, char **argv) case 'B': -- berkeley_format = 1; -+ format = format_bsd; + selected_output_format = FORMAT_BERKLEY; break; -+ case 'C': -+ format = format_avr; -+ break; - case 'v': - case 'V': - show_version = 1; -@@ -240,7 +510,7 @@ main (int argc, char **argv) - for (; optind < argc;) - display_file (argv[optind++]); - -- if (show_totals && berkeley_format) -+ if (show_totals && format == format_bsd) - { - bfd_size_type total = total_textsize + total_datasize + total_bsssize; - -@@ -606,13 +876,117 @@ print_sysv_format (bfd *file) ++ case 'C': ++ selected_output_format = FORMAT_AVR; ++ break; + case 'G': + selected_output_format = FORMAT_GNU; + break; +@@ -648,13 +903,115 @@ print_sysv_format (bfd *file) printf ("\n\n"); } -+ +static avr_device_t * +avr_find_device (void) +{ @@ -420,8 +345,6 @@ + return (NULL); +} + -+ -+ +static void +print_avr_format (bfd *file) +{ @@ -430,9 +353,9 @@ + int rammax = 0; + int eeprommax = 0; + asection *section; -+ bfd_size_type datasize = 0; -+ bfd_size_type textsize = 0; -+ bfd_size_type bsssize = 0; ++ datasize = 0; ++ textsize = 0; ++ bsssize = 0; + bfd_size_type bootloadersize = 0; + bfd_size_type noinitsize = 0; + bfd_size_type eepromsize = 0; @@ -501,19 +424,20 @@ { if (show_common) calculate_common_size (file); -- if (berkeley_format) -- print_berkeley_format (file); -- else +- if (selected_output_format == FORMAT_SYSV) - print_sysv_format (file); -+ switch (format) +- else +- print_berkeley_or_gnu_format (file); ++ switch (selected_output_format) + { -+ case format_sysv: ++ case FORMAT_SYSV: + print_sysv_format (file); + break; -+ case format_bsd: -+ print_berkeley_format (file); ++ case FORMAT_BERKLEY: ++ case FORMAT_GNU: ++ print_berkeley_or_gnu_format (file); + break; -+ case format_avr: ++ case FORMAT_AVR: + default: + print_avr_format (file); + break;
