diff --git a/usr/bin/addr2line.exe b/usr/bin/addr2line.exe index a62feae8f0c..1a71fbf0346 100644 Binary files a/usr/bin/addr2line.exe and b/usr/bin/addr2line.exe differ diff --git a/usr/bin/ar.exe b/usr/bin/ar.exe index 1a083c932ac..44bfb56cd7c 100644 Binary files a/usr/bin/ar.exe and b/usr/bin/ar.exe differ diff --git a/usr/bin/as.exe b/usr/bin/as.exe index cb8a08af71b..231ad7a7885 100644 Binary files a/usr/bin/as.exe and b/usr/bin/as.exe differ diff --git a/usr/bin/c++filt.exe b/usr/bin/c++filt.exe index 83c21c22ee5..f6249c512f4 100644 Binary files a/usr/bin/c++filt.exe and b/usr/bin/c++filt.exe differ diff --git a/usr/bin/dlltool.exe b/usr/bin/dlltool.exe index 98585e64ac5..c8359d0d7c5 100644 Binary files a/usr/bin/dlltool.exe and b/usr/bin/dlltool.exe differ diff --git a/usr/bin/dllwrap.exe b/usr/bin/dllwrap.exe index aaa4b2289dc..cc04f01017f 100644 Binary files a/usr/bin/dllwrap.exe and b/usr/bin/dllwrap.exe differ diff --git a/usr/bin/elfedit.exe b/usr/bin/elfedit.exe index c65277f311b..29011dde352 100644 Binary files a/usr/bin/elfedit.exe and b/usr/bin/elfedit.exe differ diff --git a/usr/bin/gprof.exe b/usr/bin/gprof.exe index 5ec04efaf64..954fde71dca 100644 Binary files a/usr/bin/gprof.exe and b/usr/bin/gprof.exe differ diff --git a/usr/bin/ld.bfd.exe b/usr/bin/ld.bfd.exe index 44cab42944c..3d91f68ce8c 100644 Binary files a/usr/bin/ld.bfd.exe and b/usr/bin/ld.bfd.exe differ diff --git a/usr/bin/ld.exe b/usr/bin/ld.exe index 44cab42944c..3d91f68ce8c 100644 Binary files a/usr/bin/ld.exe and b/usr/bin/ld.exe differ diff --git a/usr/bin/nm.exe b/usr/bin/nm.exe index 8c28bc6d436..8b77291f9c8 100644 Binary files a/usr/bin/nm.exe and b/usr/bin/nm.exe differ diff --git a/usr/bin/objcopy.exe b/usr/bin/objcopy.exe index 199e15dda9b..a0a9d6ac537 100644 Binary files a/usr/bin/objcopy.exe and b/usr/bin/objcopy.exe differ diff --git a/usr/bin/objdump.exe b/usr/bin/objdump.exe index 75cca1d5741..1786c99e99d 100644 Binary files a/usr/bin/objdump.exe and b/usr/bin/objdump.exe differ diff --git a/usr/bin/ranlib.exe b/usr/bin/ranlib.exe index f04288ab772..3ed921f4508 100644 Binary files a/usr/bin/ranlib.exe and b/usr/bin/ranlib.exe differ diff --git a/usr/bin/readelf.exe b/usr/bin/readelf.exe index a06e84f1629..7d2f88c3664 100644 Binary files a/usr/bin/readelf.exe and b/usr/bin/readelf.exe differ diff --git a/usr/bin/size.exe b/usr/bin/size.exe index 9a5d1cf09e9..2b1ac77f5c3 100644 Binary files a/usr/bin/size.exe and b/usr/bin/size.exe differ diff --git a/usr/bin/strings.exe b/usr/bin/strings.exe index 9330690b983..8478d178ec1 100644 Binary files a/usr/bin/strings.exe and b/usr/bin/strings.exe differ diff --git a/usr/bin/strip.exe b/usr/bin/strip.exe index 66308e2a8be..b8153a6fe7e 100644 Binary files a/usr/bin/strip.exe and b/usr/bin/strip.exe differ diff --git a/usr/bin/windmc.exe b/usr/bin/windmc.exe index 63c2ca361c4..8ca4c5172e2 100644 Binary files a/usr/bin/windmc.exe and b/usr/bin/windmc.exe differ diff --git a/usr/bin/windres.exe b/usr/bin/windres.exe index 8ad8d229db1..ce4e247c730 100644 Binary files a/usr/bin/windres.exe and b/usr/bin/windres.exe differ diff --git a/usr/include/ansidecl.h b/usr/include/ansidecl.h index 653d91869e4..645bce56511 100644 --- a/usr/include/ansidecl.h +++ b/usr/include/ansidecl.h @@ -1,5 +1,5 @@ /* Compiler compatibility macros - Copyright (C) 1991-2024 Free Software Foundation, Inc. + Copyright (C) 1991-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify diff --git a/usr/include/bfd.h b/usr/include/bfd.h index d889ec6ce6e..063010916dd 100644 --- a/usr/include/bfd.h +++ b/usr/include/bfd.h @@ -7,7 +7,7 @@ /* Main header file for the bfd library -- portable access to object files. - Copyright (C) 1990-2024 Free Software Foundation, Inc. + Copyright (C) 1990-2025 Free Software Foundation, Inc. Contributed by Cygnus Support. @@ -811,7 +811,6 @@ typedef struct bfd_section /* A symbol which points at this section only. */ struct bfd_symbol *symbol; - struct bfd_symbol **symbol_ptr_ptr; /* Early in the link process, map_head and map_tail are used to build a list of input sections attached to an output section. Later, @@ -926,6 +925,9 @@ extern asection _bfd_std_section[4]; #define BFD_COM_SECTION_NAME "*COM*" #define BFD_IND_SECTION_NAME "*IND*" +/* GNU object-only section name. */ +#define GNU_OBJECT_ONLY_SECTION_NAME ".gnu_object_only" + /* Pointer to the common section. */ #define bfd_com_section_ptr (&_bfd_std_section[0]) /* Pointer to the undefined section. */ @@ -1002,8 +1004,8 @@ discarded_section (const asection *sec) /* target_index, used_by_bfd, constructor_chain, owner, */ \ 0, NULL, NULL, NULL, \ \ - /* symbol, symbol_ptr_ptr, */ \ - (struct bfd_symbol *) SYM, &SEC.symbol, \ + /* symbol, */ \ + (struct bfd_symbol *) SYM, \ \ /* map_head, map_tail, already_assigned, type */ \ { NULL }, { NULL }, NULL, 0 \ @@ -1260,6 +1262,11 @@ typedef struct _symbol_info const char *stab_name; /* String for stab type. */ } symbol_info; +/* An empty string that will not match the address of any other + symbol name, even unnamed local symbols which will also have empty + string names. This can be used to flag a symbol as corrupt if its + name uses an out of range string table index. */ +extern const char bfd_symbol_error_name[]; #define bfd_get_symtab_upper_bound(abfd) \ BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd)) @@ -1797,10 +1804,6 @@ enum bfd_architecture #define bfd_mach_aarch64_8R 1 #define bfd_mach_aarch64_ilp32 32 #define bfd_mach_aarch64_llp64 64 - bfd_arch_nios2, /* Nios II. */ -#define bfd_mach_nios2 0 -#define bfd_mach_nios2r1 1 -#define bfd_mach_nios2r2 2 bfd_arch_visium, /* Visium. */ #define bfd_mach_visium 1 bfd_arch_wasm32, /* WebAssembly. */ @@ -1962,7 +1965,8 @@ enum bfd_lto_object_type lto_non_object, /* Not an LTO object. */ lto_non_ir_object, /* An object without LTO IR. */ lto_slim_ir_object, /* A slim LTO IR object. */ - lto_fat_ir_object /* A fat LTO IR object. */ + lto_fat_ir_object, /* A fat LTO IR object. */ + lto_mixed_object /* A mixed LTO IR object. */ }; struct bfd_mmapped_entry @@ -2185,7 +2189,7 @@ struct bfd unsigned int read_only : 1; /* LTO object type. */ - ENUM_BITFIELD (bfd_lto_object_type) lto_type : 2; + ENUM_BITFIELD (bfd_lto_object_type) lto_type : 3; /* Set if this BFD is currently being processed by bfd_check_format_matches. This is checked by the cache to @@ -2217,6 +2221,9 @@ struct bfd /* The last section on the section list. */ struct bfd_section *section_last; + /* The object-only section on the section list. */ + struct bfd_section *object_only_section; + /* The number of sections. */ unsigned int section_count; @@ -2790,6 +2797,8 @@ bfd_vma bfd_emul_get_commonpagesize (const char *); char *bfd_demangle (bfd *, const char *, int); +asymbol *bfd_group_signature (asection *group, asymbol **isympp); + /* Extracted from bfdio.c. */ bfd_size_type bfd_read (void *, bfd_size_type, bfd *) ATTRIBUTE_WARN_UNUSED_RESULT; @@ -3006,9 +3015,6 @@ bool bfd_merge_private_bfd_data (ibfd, info)) /* Extracted from opncls.c. */ -/* Set to N to open the next N BFDs using an alternate id space. */ -extern unsigned int bfd_use_reserved_id; - bfd *bfd_fopen (const char *filename, const char *target, const char *mode, int fd); @@ -3076,6 +3082,9 @@ char *bfd_follow_build_id_debuglink (bfd *abfd, const char *dir); const char *bfd_set_filename (bfd *abfd, const char *filename); +const char *bfd_extract_object_only_section + (bfd *abfd); + /* Extracted from reloc.c. */ typedef enum bfd_reloc_status { @@ -6159,60 +6168,6 @@ enum bfd_reloc_code_real BFD_RELOC_MSP430_SET_ULEB128, BFD_RELOC_MSP430_SUB_ULEB128, - /* Relocations used by the Altera Nios II core. */ - BFD_RELOC_NIOS2_S16, - BFD_RELOC_NIOS2_U16, - BFD_RELOC_NIOS2_CALL26, - BFD_RELOC_NIOS2_IMM5, - BFD_RELOC_NIOS2_CACHE_OPX, - BFD_RELOC_NIOS2_IMM6, - BFD_RELOC_NIOS2_IMM8, - BFD_RELOC_NIOS2_HI16, - BFD_RELOC_NIOS2_LO16, - BFD_RELOC_NIOS2_HIADJ16, - BFD_RELOC_NIOS2_GPREL, - BFD_RELOC_NIOS2_UJMP, - BFD_RELOC_NIOS2_CJMP, - BFD_RELOC_NIOS2_CALLR, - BFD_RELOC_NIOS2_ALIGN, - BFD_RELOC_NIOS2_GOT16, - BFD_RELOC_NIOS2_CALL16, - BFD_RELOC_NIOS2_GOTOFF_LO, - BFD_RELOC_NIOS2_GOTOFF_HA, - BFD_RELOC_NIOS2_PCREL_LO, - BFD_RELOC_NIOS2_PCREL_HA, - BFD_RELOC_NIOS2_TLS_GD16, - BFD_RELOC_NIOS2_TLS_LDM16, - BFD_RELOC_NIOS2_TLS_LDO16, - BFD_RELOC_NIOS2_TLS_IE16, - BFD_RELOC_NIOS2_TLS_LE16, - BFD_RELOC_NIOS2_TLS_DTPMOD, - BFD_RELOC_NIOS2_TLS_DTPREL, - BFD_RELOC_NIOS2_TLS_TPREL, - BFD_RELOC_NIOS2_COPY, - BFD_RELOC_NIOS2_GLOB_DAT, - BFD_RELOC_NIOS2_JUMP_SLOT, - BFD_RELOC_NIOS2_RELATIVE, - BFD_RELOC_NIOS2_GOTOFF, - BFD_RELOC_NIOS2_CALL26_NOAT, - BFD_RELOC_NIOS2_GOT_LO, - BFD_RELOC_NIOS2_GOT_HA, - BFD_RELOC_NIOS2_CALL_LO, - BFD_RELOC_NIOS2_CALL_HA, - BFD_RELOC_NIOS2_R2_S12, - BFD_RELOC_NIOS2_R2_I10_1_PCREL, - BFD_RELOC_NIOS2_R2_T1I7_1_PCREL, - BFD_RELOC_NIOS2_R2_T1I7_2, - BFD_RELOC_NIOS2_R2_T2I4, - BFD_RELOC_NIOS2_R2_T2I4_1, - BFD_RELOC_NIOS2_R2_T2I4_2, - BFD_RELOC_NIOS2_R2_X1I7_2, - BFD_RELOC_NIOS2_R2_X2L5, - BFD_RELOC_NIOS2_R2_F1I5_2, - BFD_RELOC_NIOS2_R2_L5I4X1, - BFD_RELOC_NIOS2_R2_T1X1I6, - BFD_RELOC_NIOS2_R2_T1X1I6_2, - /* PRU LDI 16-bit unsigned data-memory relocation. */ BFD_RELOC_PRU_U16, @@ -8077,6 +8032,13 @@ bfd_keep_unused_section_symbols (const bfd *abfd) return abfd->xvec->keep_unused_section_symbols; } +static inline bool +bfd_target_supports_archives (const bfd *abfd) +{ + return (abfd->xvec->_bfd_check_format[bfd_archive] + != abfd->xvec->_bfd_check_format[bfd_unknown]); +} + bool bfd_set_default_target (const char *name); const bfd_target *bfd_find_target (const char *target_name, bfd *abfd); diff --git a/usr/include/bfdlink.h b/usr/include/bfdlink.h index f802ec627ef..ae451075996 100644 --- a/usr/include/bfdlink.h +++ b/usr/include/bfdlink.h @@ -1,5 +1,5 @@ /* bfdlink.h -- header file for BFD link routines - Copyright (C) 1993-2024 Free Software Foundation, Inc. + Copyright (C) 1993-2025 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -429,6 +429,9 @@ struct bfd_link_info /* TRUE if only one read-only, non-code segment should be created. */ unsigned int one_rosegment: 1; + /* TRUE if GNU_PROPERTY_MEMORY_SEAL should be generated. */ + unsigned int memory_seal: 1; + /* Nonzero if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment should be created. 1 for DWARF2 tables, 2 for compact tables. */ unsigned int eh_frame_hdr_type: 2; diff --git a/usr/include/ctf-api.h b/usr/include/ctf-api.h index dd719d11129..2bffd52b1a0 100644 --- a/usr/include/ctf-api.h +++ b/usr/include/ctf-api.h @@ -1,5 +1,5 @@ /* Public API to libctf. - Copyright (C) 2019-2024 Free Software Foundation, Inc. + Copyright (C) 2019-2025 Free Software Foundation, Inc. This file is part of libctf. diff --git a/usr/include/ctf.h b/usr/include/ctf.h index f188202d120..72a639ac9b4 100644 --- a/usr/include/ctf.h +++ b/usr/include/ctf.h @@ -1,5 +1,5 @@ /* CTF format description. - Copyright (C) 2019-2024 Free Software Foundation, Inc. + Copyright (C) 2019-2025 Free Software Foundation, Inc. This file is part of libctf. diff --git a/usr/include/diagnostics.h b/usr/include/diagnostics.h index 97e30ab807f..acf5f50d7f6 100644 --- a/usr/include/diagnostics.h +++ b/usr/include/diagnostics.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2017-2024 Free Software Foundation, Inc. +/* Copyright (C) 2017-2025 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -76,11 +76,6 @@ # define DIAGNOSTIC_ERROR_SWITCH \ DIAGNOSTIC_ERROR ("-Wswitch") -# if __has_warning ("-Wenum-constexpr-conversion") -# define DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION \ - DIAGNOSTIC_IGNORE ("-Wenum-constexpr-conversion") -# endif - #elif defined (__GNUC__) /* GCC */ # define DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS \ @@ -159,8 +154,4 @@ # define DIAGNOSTIC_ERROR_SWITCH #endif -#ifndef DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION -# define DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION -#endif - #endif /* DIAGNOSTICS_H */ diff --git a/usr/include/dis-asm.h b/usr/include/dis-asm.h index 3bdecd37a81..c3e01996ad3 100644 --- a/usr/include/dis-asm.h +++ b/usr/include/dis-asm.h @@ -1,6 +1,6 @@ /* Interface between the opcode library and its callers. - Copyright (C) 1999-2024 Free Software Foundation, Inc. + Copyright (C) 1999-2025 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/usr/include/libiberty/ansidecl.h b/usr/include/libiberty/ansidecl.h index 653d91869e4..645bce56511 100644 --- a/usr/include/libiberty/ansidecl.h +++ b/usr/include/libiberty/ansidecl.h @@ -1,5 +1,5 @@ /* Compiler compatibility macros - Copyright (C) 1991-2024 Free Software Foundation, Inc. + Copyright (C) 1991-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify diff --git a/usr/include/libiberty/demangle.h b/usr/include/libiberty/demangle.h index 49b84d4de88..87f90c61e77 100644 --- a/usr/include/libiberty/demangle.h +++ b/usr/include/libiberty/demangle.h @@ -1,5 +1,5 @@ /* Defs for interface to demanglers. - Copyright (C) 1992-2024 Free Software Foundation, Inc. + Copyright (C) 1992-2025 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License diff --git a/usr/include/libiberty/dyn-string.h b/usr/include/libiberty/dyn-string.h index 9052780c96d..6ccb3bc8f84 100644 --- a/usr/include/libiberty/dyn-string.h +++ b/usr/include/libiberty/dyn-string.h @@ -1,5 +1,5 @@ /* An abstract string datatype. - Copyright (C) 1998-2024 Free Software Foundation, Inc. + Copyright (C) 1998-2025 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GCC. diff --git a/usr/include/libiberty/fibheap.h b/usr/include/libiberty/fibheap.h index 85ab4eb38ab..bc0feb31451 100644 --- a/usr/include/libiberty/fibheap.h +++ b/usr/include/libiberty/fibheap.h @@ -1,5 +1,5 @@ /* A Fibonacci heap datatype. - Copyright (C) 1998-2024 Free Software Foundation, Inc. + Copyright (C) 1998-2025 Free Software Foundation, Inc. Contributed by Daniel Berlin (dan@cgsoftware.com). This file is part of GCC. diff --git a/usr/include/libiberty/floatformat.h b/usr/include/libiberty/floatformat.h index ffe96a213a2..b65968a8755 100644 --- a/usr/include/libiberty/floatformat.h +++ b/usr/include/libiberty/floatformat.h @@ -1,5 +1,5 @@ /* IEEE floating point support declarations, for GDB, the GNU Debugger. - Copyright (C) 1991-2024 Free Software Foundation, Inc. + Copyright (C) 1991-2025 Free Software Foundation, Inc. This file is part of GDB. diff --git a/usr/include/libiberty/hashtab.h b/usr/include/libiberty/hashtab.h index 00bcdc9d24e..c4199392492 100644 --- a/usr/include/libiberty/hashtab.h +++ b/usr/include/libiberty/hashtab.h @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999-2024 Free Software Foundation, Inc. + Copyright (C) 1999-2025 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This program is free software; you can redistribute it and/or modify diff --git a/usr/include/libiberty/libiberty.h b/usr/include/libiberty/libiberty.h index 32385911690..e39f1870cb7 100644 --- a/usr/include/libiberty/libiberty.h +++ b/usr/include/libiberty/libiberty.h @@ -1,6 +1,6 @@ /* Function declarations for libiberty. - Copyright (C) 1997-2024 Free Software Foundation, Inc. + Copyright (C) 1997-2025 Free Software Foundation, Inc. Note - certain prototypes declared in this header file are for functions whoes implementation copyright does not belong to the diff --git a/usr/include/libiberty/objalloc.h b/usr/include/libiberty/objalloc.h index 2c5d170fa2a..231485a824b 100644 --- a/usr/include/libiberty/objalloc.h +++ b/usr/include/libiberty/objalloc.h @@ -1,5 +1,5 @@ /* objalloc.h -- routines to allocate memory for objects - Copyright (C) 1997-2024 Free Software Foundation, Inc. + Copyright (C) 1997-2025 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Solutions. This program is free software; you can redistribute it and/or modify it diff --git a/usr/include/libiberty/partition.h b/usr/include/libiberty/partition.h index b96dc8c4a99..c632281c95f 100644 --- a/usr/include/libiberty/partition.h +++ b/usr/include/libiberty/partition.h @@ -1,5 +1,5 @@ /* List implementation of a partition of consecutive integers. - Copyright (C) 2000-2024 Free Software Foundation, Inc. + Copyright (C) 2000-2025 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is part of GCC. diff --git a/usr/include/libiberty/safe-ctype.h b/usr/include/libiberty/safe-ctype.h index 93785da3f24..4d2a3169268 100644 --- a/usr/include/libiberty/safe-ctype.h +++ b/usr/include/libiberty/safe-ctype.h @@ -1,6 +1,6 @@ /* replacement macros. - Copyright (C) 2000-2024 Free Software Foundation, Inc. + Copyright (C) 2000-2025 Free Software Foundation, Inc. Contributed by Zack Weinberg . This file is part of the libiberty library. diff --git a/usr/include/libiberty/sort.h b/usr/include/libiberty/sort.h index fc95a08ce85..ba078b45260 100644 --- a/usr/include/libiberty/sort.h +++ b/usr/include/libiberty/sort.h @@ -1,5 +1,5 @@ /* Sorting algorithms. - Copyright (C) 2000-2024 Free Software Foundation, Inc. + Copyright (C) 2000-2025 Free Software Foundation, Inc. Contributed by Mark Mitchell . This file is part of GCC. diff --git a/usr/include/libiberty/splay-tree.h b/usr/include/libiberty/splay-tree.h index 5993cca24fa..47275341d24 100644 --- a/usr/include/libiberty/splay-tree.h +++ b/usr/include/libiberty/splay-tree.h @@ -1,5 +1,5 @@ /* A splay-tree datatype. - Copyright (C) 1998-2024 Free Software Foundation, Inc. + Copyright (C) 1998-2025 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GCC. diff --git a/usr/include/libiberty/timeval-utils.h b/usr/include/libiberty/timeval-utils.h index 5f63c7bb072..67a7fde3609 100644 --- a/usr/include/libiberty/timeval-utils.h +++ b/usr/include/libiberty/timeval-utils.h @@ -1,5 +1,5 @@ /* Basic struct timeval utilities. - Copyright (C) 2011-2024 Free Software Foundation, Inc. + Copyright (C) 2011-2025 Free Software Foundation, Inc. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or diff --git a/usr/include/plugin-api.h b/usr/include/plugin-api.h index 07eb113d588..2598a76f8cb 100644 --- a/usr/include/plugin-api.h +++ b/usr/include/plugin-api.h @@ -1,6 +1,6 @@ /* plugin-api.h -- External linker plugin API. */ -/* Copyright (C) 2009-2024 Free Software Foundation, Inc. +/* Copyright (C) 2009-2025 Free Software Foundation, Inc. Written by Cary Coutant . This file is part of binutils. diff --git a/usr/include/sframe-api.h b/usr/include/sframe-api.h index 280e285a408..77ba32b0f4b 100644 --- a/usr/include/sframe-api.h +++ b/usr/include/sframe-api.h @@ -1,6 +1,6 @@ /* Public API to SFrame. - Copyright (C) 2022-2024 Free Software Foundation, Inc. + Copyright (C) 2022-2025 Free Software Foundation, Inc. This file is part of libsframe. diff --git a/usr/include/sframe.h b/usr/include/sframe.h index 347dbc73787..a965e23bdd1 100644 --- a/usr/include/sframe.h +++ b/usr/include/sframe.h @@ -1,5 +1,5 @@ /* SFrame format description. - Copyright (C) 2022-2024 Free Software Foundation, Inc. + Copyright (C) 2022-2025 Free Software Foundation, Inc. This file is part of libsframe. diff --git a/usr/include/symcat.h b/usr/include/symcat.h index effa891eeb4..c0dd11b8253 100644 --- a/usr/include/symcat.h +++ b/usr/include/symcat.h @@ -1,6 +1,6 @@ /* Symbol concatenation utilities. - Copyright (C) 1998-2024 Free Software Foundation, Inc. + Copyright (C) 1998-2025 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/usr/lib/bfd-plugins/msys-dep.dll b/usr/lib/bfd-plugins/msys-dep.dll index c750337694c..fdfbb126fc0 100644 Binary files a/usr/lib/bfd-plugins/msys-dep.dll and b/usr/lib/bfd-plugins/msys-dep.dll differ diff --git a/usr/lib/libbfd.a b/usr/lib/libbfd.a index 90f74fd7ef4..dee18e7f222 100644 Binary files a/usr/lib/libbfd.a and b/usr/lib/libbfd.a differ diff --git a/usr/lib/libctf-nobfd.a b/usr/lib/libctf-nobfd.a index 24fe224f3af..509dd3962d7 100644 Binary files a/usr/lib/libctf-nobfd.a and b/usr/lib/libctf-nobfd.a differ diff --git a/usr/lib/libctf.a b/usr/lib/libctf.a index c61f69c228f..bdb5a61e81a 100644 Binary files a/usr/lib/libctf.a and b/usr/lib/libctf.a differ diff --git a/usr/lib/libiberty.a b/usr/lib/libiberty.a index 002f5d6655a..df892d08817 100644 Binary files a/usr/lib/libiberty.a and b/usr/lib/libiberty.a differ diff --git a/usr/lib/libopcodes.a b/usr/lib/libopcodes.a index 32d570fbeb7..5067f5a668c 100644 Binary files a/usr/lib/libopcodes.a and b/usr/lib/libopcodes.a differ diff --git a/usr/lib/libsframe.a b/usr/lib/libsframe.a index baa28f25eba..c1b05ea7952 100644 Binary files a/usr/lib/libsframe.a and b/usr/lib/libsframe.a differ diff --git a/usr/share/info/as.info.gz b/usr/share/info/as.info.gz index 29af1a2fc4f..3d6adc92683 100644 Binary files a/usr/share/info/as.info.gz and b/usr/share/info/as.info.gz differ diff --git a/usr/share/info/bfd.info.gz b/usr/share/info/bfd.info.gz index af7e9c02946..658b587126a 100644 Binary files a/usr/share/info/bfd.info.gz and b/usr/share/info/bfd.info.gz differ diff --git a/usr/share/info/binutils.info.gz b/usr/share/info/binutils.info.gz index 06c80170d49..3b6ebedace4 100644 Binary files a/usr/share/info/binutils.info.gz and b/usr/share/info/binutils.info.gz differ diff --git a/usr/share/info/ctf-spec.info.gz b/usr/share/info/ctf-spec.info.gz index 06dfa37721f..3f93e7d561c 100644 Binary files a/usr/share/info/ctf-spec.info.gz and b/usr/share/info/ctf-spec.info.gz differ diff --git a/usr/share/info/gprof.info.gz b/usr/share/info/gprof.info.gz index 8363db23d1f..e8bdba5bb5f 100644 Binary files a/usr/share/info/gprof.info.gz and b/usr/share/info/gprof.info.gz differ diff --git a/usr/share/info/ld.info.gz b/usr/share/info/ld.info.gz index 95e5c010b3b..8378446b7b7 100644 Binary files a/usr/share/info/ld.info.gz and b/usr/share/info/ld.info.gz differ diff --git a/usr/share/info/ldint.info.gz b/usr/share/info/ldint.info.gz index d8906af8450..ed8e6f9844b 100644 Binary files a/usr/share/info/ldint.info.gz and b/usr/share/info/ldint.info.gz differ diff --git a/usr/share/info/sframe-spec.info.gz b/usr/share/info/sframe-spec.info.gz index fb47051dd8a..008b94b9f1c 100644 Binary files a/usr/share/info/sframe-spec.info.gz and b/usr/share/info/sframe-spec.info.gz differ diff --git a/usr/share/locale/bg/LC_MESSAGES/binutils.mo b/usr/share/locale/bg/LC_MESSAGES/binutils.mo index e566834c077..4c345bcb99f 100644 Binary files a/usr/share/locale/bg/LC_MESSAGES/binutils.mo and b/usr/share/locale/bg/LC_MESSAGES/binutils.mo differ diff --git a/usr/share/locale/bg/LC_MESSAGES/ld.mo b/usr/share/locale/bg/LC_MESSAGES/ld.mo index 90ea61ffdd1..39befb41977 100644 Binary files a/usr/share/locale/bg/LC_MESSAGES/ld.mo and b/usr/share/locale/bg/LC_MESSAGES/ld.mo differ diff --git a/usr/share/locale/de/LC_MESSAGES/opcodes.mo b/usr/share/locale/de/LC_MESSAGES/opcodes.mo index 72468f6d299..47d8d23f6d2 100644 Binary files a/usr/share/locale/de/LC_MESSAGES/opcodes.mo and b/usr/share/locale/de/LC_MESSAGES/opcodes.mo differ diff --git a/usr/share/locale/fr/LC_MESSAGES/bfd.mo b/usr/share/locale/fr/LC_MESSAGES/bfd.mo index 3bad5ea17ee..314bd053433 100644 Binary files a/usr/share/locale/fr/LC_MESSAGES/bfd.mo and b/usr/share/locale/fr/LC_MESSAGES/bfd.mo differ diff --git a/usr/share/locale/fr/LC_MESSAGES/binutils.mo b/usr/share/locale/fr/LC_MESSAGES/binutils.mo index dca3de65773..3aaea1f7188 100644 Binary files a/usr/share/locale/fr/LC_MESSAGES/binutils.mo and b/usr/share/locale/fr/LC_MESSAGES/binutils.mo differ diff --git a/usr/share/locale/fr/LC_MESSAGES/gas.mo b/usr/share/locale/fr/LC_MESSAGES/gas.mo index 9a40b29d4ae..0b7e064ca5a 100644 Binary files a/usr/share/locale/fr/LC_MESSAGES/gas.mo and b/usr/share/locale/fr/LC_MESSAGES/gas.mo differ diff --git a/usr/share/locale/fr/LC_MESSAGES/ld.mo b/usr/share/locale/fr/LC_MESSAGES/ld.mo index bfe59c709df..a61e2bca733 100644 Binary files a/usr/share/locale/fr/LC_MESSAGES/ld.mo and b/usr/share/locale/fr/LC_MESSAGES/ld.mo differ diff --git a/usr/share/locale/fr/LC_MESSAGES/opcodes.mo b/usr/share/locale/fr/LC_MESSAGES/opcodes.mo index a4d4f9b6b6b..177796a1c8c 100644 Binary files a/usr/share/locale/fr/LC_MESSAGES/opcodes.mo and b/usr/share/locale/fr/LC_MESSAGES/opcodes.mo differ diff --git a/usr/share/locale/ms/LC_MESSAGES/bfd.mo b/usr/share/locale/ms/LC_MESSAGES/bfd.mo new file mode 100644 index 00000000000..62b734495b7 Binary files /dev/null and b/usr/share/locale/ms/LC_MESSAGES/bfd.mo differ diff --git a/usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo b/usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo index 78613fef7f1..c1283e50f97 100644 Binary files a/usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo and b/usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo differ diff --git a/usr/share/locale/ro/LC_MESSAGES/bfd.mo b/usr/share/locale/ro/LC_MESSAGES/bfd.mo index f8420f580d6..ec06a74a27e 100644 Binary files a/usr/share/locale/ro/LC_MESSAGES/bfd.mo and b/usr/share/locale/ro/LC_MESSAGES/bfd.mo differ diff --git a/usr/share/locale/ro/LC_MESSAGES/binutils.mo b/usr/share/locale/ro/LC_MESSAGES/binutils.mo index 8ccf23c7900..2fc0a638be0 100644 Binary files a/usr/share/locale/ro/LC_MESSAGES/binutils.mo and b/usr/share/locale/ro/LC_MESSAGES/binutils.mo differ diff --git a/usr/share/locale/ro/LC_MESSAGES/gas.mo b/usr/share/locale/ro/LC_MESSAGES/gas.mo index 5e45884611b..ba5e34eee57 100644 Binary files a/usr/share/locale/ro/LC_MESSAGES/gas.mo and b/usr/share/locale/ro/LC_MESSAGES/gas.mo differ diff --git a/usr/share/locale/ro/LC_MESSAGES/ld.mo b/usr/share/locale/ro/LC_MESSAGES/ld.mo index 9dfd0f6a592..3cafa0ad606 100644 Binary files a/usr/share/locale/ro/LC_MESSAGES/ld.mo and b/usr/share/locale/ro/LC_MESSAGES/ld.mo differ diff --git a/usr/share/locale/ro/LC_MESSAGES/opcodes.mo b/usr/share/locale/ro/LC_MESSAGES/opcodes.mo index 56c3cac424b..9bc4a877385 100644 Binary files a/usr/share/locale/ro/LC_MESSAGES/opcodes.mo and b/usr/share/locale/ro/LC_MESSAGES/opcodes.mo differ diff --git a/usr/share/locale/sr/LC_MESSAGES/bfd.mo b/usr/share/locale/sr/LC_MESSAGES/bfd.mo index a8c301e90aa..9e0522faff7 100644 Binary files a/usr/share/locale/sr/LC_MESSAGES/bfd.mo and b/usr/share/locale/sr/LC_MESSAGES/bfd.mo differ diff --git a/usr/share/locale/sr/LC_MESSAGES/binutils.mo b/usr/share/locale/sr/LC_MESSAGES/binutils.mo index 6fd1c43fae3..3d2a6c87dce 100644 Binary files a/usr/share/locale/sr/LC_MESSAGES/binutils.mo and b/usr/share/locale/sr/LC_MESSAGES/binutils.mo differ diff --git a/usr/share/locale/sr/LC_MESSAGES/ld.mo b/usr/share/locale/sr/LC_MESSAGES/ld.mo index 6773b4bc39e..edd75c09029 100644 Binary files a/usr/share/locale/sr/LC_MESSAGES/ld.mo and b/usr/share/locale/sr/LC_MESSAGES/ld.mo differ diff --git a/usr/share/locale/sr/LC_MESSAGES/opcodes.mo b/usr/share/locale/sr/LC_MESSAGES/opcodes.mo index 84937c37f62..ba18451c375 100644 Binary files a/usr/share/locale/sr/LC_MESSAGES/opcodes.mo and b/usr/share/locale/sr/LC_MESSAGES/opcodes.mo differ diff --git a/usr/share/locale/sv/LC_MESSAGES/binutils.mo b/usr/share/locale/sv/LC_MESSAGES/binutils.mo index 7c96ab63f4b..78f14bc35a5 100644 Binary files a/usr/share/locale/sv/LC_MESSAGES/binutils.mo and b/usr/share/locale/sv/LC_MESSAGES/binutils.mo differ diff --git a/usr/share/locale/uk/LC_MESSAGES/bfd.mo b/usr/share/locale/uk/LC_MESSAGES/bfd.mo index 45c328dcfac..8d61f1f12cc 100644 Binary files a/usr/share/locale/uk/LC_MESSAGES/bfd.mo and b/usr/share/locale/uk/LC_MESSAGES/bfd.mo differ diff --git a/usr/share/locale/uk/LC_MESSAGES/binutils.mo b/usr/share/locale/uk/LC_MESSAGES/binutils.mo index d3a0820b2a5..c81387a20e4 100644 Binary files a/usr/share/locale/uk/LC_MESSAGES/binutils.mo and b/usr/share/locale/uk/LC_MESSAGES/binutils.mo differ diff --git a/usr/share/locale/uk/LC_MESSAGES/gas.mo b/usr/share/locale/uk/LC_MESSAGES/gas.mo index f72c083f043..38d79311ae5 100644 Binary files a/usr/share/locale/uk/LC_MESSAGES/gas.mo and b/usr/share/locale/uk/LC_MESSAGES/gas.mo differ diff --git a/usr/share/locale/uk/LC_MESSAGES/ld.mo b/usr/share/locale/uk/LC_MESSAGES/ld.mo index 82eeafae7e0..f82a504deab 100644 Binary files a/usr/share/locale/uk/LC_MESSAGES/ld.mo and b/usr/share/locale/uk/LC_MESSAGES/ld.mo differ diff --git a/usr/share/locale/uk/LC_MESSAGES/opcodes.mo b/usr/share/locale/uk/LC_MESSAGES/opcodes.mo index 4f18db09a46..b96b2a2e83b 100644 Binary files a/usr/share/locale/uk/LC_MESSAGES/opcodes.mo and b/usr/share/locale/uk/LC_MESSAGES/opcodes.mo differ diff --git a/usr/share/man/man1/addr2line.1.gz b/usr/share/man/man1/addr2line.1.gz index 285d2eb0509..ac5889b591a 100644 Binary files a/usr/share/man/man1/addr2line.1.gz and b/usr/share/man/man1/addr2line.1.gz differ diff --git a/usr/share/man/man1/ar.1.gz b/usr/share/man/man1/ar.1.gz index f325ca27133..2fbd58888cd 100644 Binary files a/usr/share/man/man1/ar.1.gz and b/usr/share/man/man1/ar.1.gz differ diff --git a/usr/share/man/man1/as.1.gz b/usr/share/man/man1/as.1.gz index f56b4905ca2..ed7f017f8c2 100644 Binary files a/usr/share/man/man1/as.1.gz and b/usr/share/man/man1/as.1.gz differ diff --git a/usr/share/man/man1/c++filt.1.gz b/usr/share/man/man1/c++filt.1.gz index a16636e333b..08131b9e97a 100644 Binary files a/usr/share/man/man1/c++filt.1.gz and b/usr/share/man/man1/c++filt.1.gz differ diff --git a/usr/share/man/man1/dlltool.1.gz b/usr/share/man/man1/dlltool.1.gz index f22b00b5783..a62b5488a00 100644 Binary files a/usr/share/man/man1/dlltool.1.gz and b/usr/share/man/man1/dlltool.1.gz differ diff --git a/usr/share/man/man1/elfedit.1.gz b/usr/share/man/man1/elfedit.1.gz index 6836f34dd40..511cea5b86d 100644 Binary files a/usr/share/man/man1/elfedit.1.gz and b/usr/share/man/man1/elfedit.1.gz differ diff --git a/usr/share/man/man1/gprof.1.gz b/usr/share/man/man1/gprof.1.gz index deb3d1392dd..2afb37c2a7b 100644 Binary files a/usr/share/man/man1/gprof.1.gz and b/usr/share/man/man1/gprof.1.gz differ diff --git a/usr/share/man/man1/ld.1.gz b/usr/share/man/man1/ld.1.gz index ab1fdf5d0c7..ba3b6f0e97f 100644 Binary files a/usr/share/man/man1/ld.1.gz and b/usr/share/man/man1/ld.1.gz differ diff --git a/usr/share/man/man1/nm.1.gz b/usr/share/man/man1/nm.1.gz index 62f73405749..e7046ccba5d 100644 Binary files a/usr/share/man/man1/nm.1.gz and b/usr/share/man/man1/nm.1.gz differ diff --git a/usr/share/man/man1/objcopy.1.gz b/usr/share/man/man1/objcopy.1.gz index d0db22657e6..2688db0a4bf 100644 Binary files a/usr/share/man/man1/objcopy.1.gz and b/usr/share/man/man1/objcopy.1.gz differ diff --git a/usr/share/man/man1/objdump.1.gz b/usr/share/man/man1/objdump.1.gz index f02dffd5c01..612815e27a8 100644 Binary files a/usr/share/man/man1/objdump.1.gz and b/usr/share/man/man1/objdump.1.gz differ diff --git a/usr/share/man/man1/ranlib.1.gz b/usr/share/man/man1/ranlib.1.gz index de1252eb555..4427d1c3c90 100644 Binary files a/usr/share/man/man1/ranlib.1.gz and b/usr/share/man/man1/ranlib.1.gz differ diff --git a/usr/share/man/man1/readelf.1.gz b/usr/share/man/man1/readelf.1.gz index 3317d500231..91771f31f96 100644 Binary files a/usr/share/man/man1/readelf.1.gz and b/usr/share/man/man1/readelf.1.gz differ diff --git a/usr/share/man/man1/size.1.gz b/usr/share/man/man1/size.1.gz index 6d2c48e91cc..86732ec1a2e 100644 Binary files a/usr/share/man/man1/size.1.gz and b/usr/share/man/man1/size.1.gz differ diff --git a/usr/share/man/man1/strings.1.gz b/usr/share/man/man1/strings.1.gz index 7e415c2dd6d..af2dfaefc25 100644 Binary files a/usr/share/man/man1/strings.1.gz and b/usr/share/man/man1/strings.1.gz differ diff --git a/usr/share/man/man1/strip.1.gz b/usr/share/man/man1/strip.1.gz index 1f09d9b413b..027f3ed4dc2 100644 Binary files a/usr/share/man/man1/strip.1.gz and b/usr/share/man/man1/strip.1.gz differ diff --git a/usr/share/man/man1/windmc.1.gz b/usr/share/man/man1/windmc.1.gz index cd44c49c8d7..68757d981f9 100644 Binary files a/usr/share/man/man1/windmc.1.gz and b/usr/share/man/man1/windmc.1.gz differ diff --git a/usr/share/man/man1/windres.1.gz b/usr/share/man/man1/windres.1.gz index 34cc589269c..bc084185146 100644 Binary files a/usr/share/man/man1/windres.1.gz and b/usr/share/man/man1/windres.1.gz differ diff --git a/usr/x86_64-pc-msys/bin/ar.exe b/usr/x86_64-pc-msys/bin/ar.exe index 1a083c932ac..44bfb56cd7c 100644 Binary files a/usr/x86_64-pc-msys/bin/ar.exe and b/usr/x86_64-pc-msys/bin/ar.exe differ diff --git a/usr/x86_64-pc-msys/bin/as.exe b/usr/x86_64-pc-msys/bin/as.exe index cb8a08af71b..231ad7a7885 100644 Binary files a/usr/x86_64-pc-msys/bin/as.exe and b/usr/x86_64-pc-msys/bin/as.exe differ diff --git a/usr/x86_64-pc-msys/bin/dlltool.exe b/usr/x86_64-pc-msys/bin/dlltool.exe index 98585e64ac5..c8359d0d7c5 100644 Binary files a/usr/x86_64-pc-msys/bin/dlltool.exe and b/usr/x86_64-pc-msys/bin/dlltool.exe differ diff --git a/usr/x86_64-pc-msys/bin/ld.bfd.exe b/usr/x86_64-pc-msys/bin/ld.bfd.exe index 44cab42944c..3d91f68ce8c 100644 Binary files a/usr/x86_64-pc-msys/bin/ld.bfd.exe and b/usr/x86_64-pc-msys/bin/ld.bfd.exe differ diff --git a/usr/x86_64-pc-msys/bin/ld.exe b/usr/x86_64-pc-msys/bin/ld.exe index 44cab42944c..3d91f68ce8c 100644 Binary files a/usr/x86_64-pc-msys/bin/ld.exe and b/usr/x86_64-pc-msys/bin/ld.exe differ diff --git a/usr/x86_64-pc-msys/bin/nm.exe b/usr/x86_64-pc-msys/bin/nm.exe index 8c28bc6d436..8b77291f9c8 100644 Binary files a/usr/x86_64-pc-msys/bin/nm.exe and b/usr/x86_64-pc-msys/bin/nm.exe differ diff --git a/usr/x86_64-pc-msys/bin/objcopy.exe b/usr/x86_64-pc-msys/bin/objcopy.exe index 199e15dda9b..a0a9d6ac537 100644 Binary files a/usr/x86_64-pc-msys/bin/objcopy.exe and b/usr/x86_64-pc-msys/bin/objcopy.exe differ diff --git a/usr/x86_64-pc-msys/bin/objdump.exe b/usr/x86_64-pc-msys/bin/objdump.exe index 75cca1d5741..1786c99e99d 100644 Binary files a/usr/x86_64-pc-msys/bin/objdump.exe and b/usr/x86_64-pc-msys/bin/objdump.exe differ diff --git a/usr/x86_64-pc-msys/bin/ranlib.exe b/usr/x86_64-pc-msys/bin/ranlib.exe index f04288ab772..3ed921f4508 100644 Binary files a/usr/x86_64-pc-msys/bin/ranlib.exe and b/usr/x86_64-pc-msys/bin/ranlib.exe differ diff --git a/usr/x86_64-pc-msys/bin/readelf.exe b/usr/x86_64-pc-msys/bin/readelf.exe index a06e84f1629..7d2f88c3664 100644 Binary files a/usr/x86_64-pc-msys/bin/readelf.exe and b/usr/x86_64-pc-msys/bin/readelf.exe differ diff --git a/usr/x86_64-pc-msys/bin/strip.exe b/usr/x86_64-pc-msys/bin/strip.exe index 66308e2a8be..b8153a6fe7e 100644 Binary files a/usr/x86_64-pc-msys/bin/strip.exe and b/usr/x86_64-pc-msys/bin/strip.exe differ diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.x b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.x index ff2be9dedc2..1fed1be64e0 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.x +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.x @@ -1,5 +1,5 @@ /* Default linker script, for normal executables */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + PROVIDE (_etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -54,42 +85,30 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - PROVIDE (_etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP(*(.eh_frame*)) @@ -117,6 +136,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -133,24 +153,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xa b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xa index 32017c935b7..1c9be205c05 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xa +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xa @@ -1,5 +1,5 @@ /* Script for --enable-auto-import */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + PROVIDE (_etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + *(.rdata) + *(SORT(.rdata$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -54,42 +85,30 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - PROVIDE (_etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - *(.rdata) - *(SORT(.rdata$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP(*(.eh_frame*)) @@ -117,6 +136,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -133,24 +153,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xbn b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xbn index 7c165c741e7..24b08239e39 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xbn +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xbn @@ -1,5 +1,5 @@ /* Script for -N */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + PROVIDE (_etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -54,42 +85,30 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - PROVIDE (_etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP(*(.eh_frame*)) @@ -117,6 +136,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -133,24 +153,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xe b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xe index 5a8197df279..44adec59c28 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xe +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xe @@ -1,5 +1,5 @@ /* Script for -z separate-code */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + PROVIDE (_etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -54,42 +85,30 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - PROVIDE (_etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP(*(.eh_frame*)) @@ -117,6 +136,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -133,24 +153,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xer b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xer index bf85679b864..7bd1799a9db 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xer +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xer @@ -1,5 +1,5 @@ -/* Script for -z separate-code -z one-rosegment */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Script for -z separate-code --rosegment */ +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + PROVIDE (_etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -54,42 +85,30 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - PROVIDE (_etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP(*(.eh_frame*)) @@ -117,6 +136,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -133,24 +153,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xn b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xn index b6c062e1dd4..ce15b980c4b 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xn +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xn @@ -1,5 +1,5 @@ /* Script for -n */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + PROVIDE (_etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -54,42 +85,30 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - PROVIDE (_etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP(*(.eh_frame*)) @@ -117,6 +136,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -133,24 +153,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xr b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xr index c9d4be4febe..d7644d0690e 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xr +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xr @@ -1,5 +1,5 @@ /* Script for -r */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -25,6 +25,9 @@ SECTIONS { *(.rdata) . = ALIGN(4); + /* .ctors & .dtors */ + /* .CRT */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ } .eh_frame : { @@ -54,10 +57,6 @@ SECTIONS /* This cannot currently be handled with grouped sections. See pe.em:sort_sections. */ } - .CRT : - { - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xu b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xu index 9ed9ffacfde..e7e15fe76c4 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xu +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pe.xu @@ -1,5 +1,5 @@ /* Script for -Ur */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -10,6 +10,22 @@ SECTIONS .text : { *(.text) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data : + { + *(.data) + KEEP(*(.jcr)) + } + .rdata : + { + *(.rdata) + . = ALIGN(4); + /* .ctors & .dtors */ /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup code in libgcc defines them as common symbols, with the @@ -44,21 +60,8 @@ SECTIONS KEEP(*(.dtor)); KEEP(*(SORT_BY_NAME(.dtors.*))); LONG (0); - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data : - { - *(.data) - KEEP(*(.jcr)) - } - .rdata : - { - *(.rdata) - . = ALIGN(4); + /* .CRT */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ } .eh_frame : { @@ -88,10 +91,6 @@ SECTIONS /* This cannot currently be handled with grouped sections. See pe.em:sort_sections. */ } - .CRT : - { - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.x b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.x index c8fe6174035..80dfe69e37f 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.x +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.x @@ -1,5 +1,5 @@ /* Default linker script, for normal executables */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + . = ALIGN(8); + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -55,41 +86,30 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP (*(.eh_frame*)) @@ -121,6 +141,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -138,24 +159,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xa b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xa index f978582e14f..bed0de58106 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xa +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xa @@ -1,5 +1,5 @@ /* Script for --enable-auto-import */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + . = ALIGN(8); + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + *(.rdata) + *(SORT(.rdata$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -55,41 +86,30 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - *(.rdata) - *(SORT(.rdata$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP (*(.eh_frame*)) @@ -121,6 +141,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -138,24 +159,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xbn b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xbn index 43e95e1025d..e9ebf57f421 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xbn +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xbn @@ -1,5 +1,5 @@ /* Script for -N */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + . = ALIGN(8); + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -55,41 +86,30 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP (*(.eh_frame*)) @@ -121,6 +141,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -138,24 +159,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xe b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xe index 125d7987b45..a60ef8e9fdf 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xe +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xe @@ -1,5 +1,5 @@ /* Script for -z separate-code */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + . = ALIGN(8); + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -55,41 +86,30 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP (*(.eh_frame*)) @@ -121,6 +141,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -138,24 +159,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xer b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xer index 8ddaf9cac3c..8e8ac5e0b89 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xer +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xer @@ -1,5 +1,5 @@ -/* Script for -z separate-code -z one-rosegment */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Script for -z separate-code --rosegment */ +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + . = ALIGN(8); + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -55,41 +86,30 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP (*(.eh_frame*)) @@ -121,6 +141,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -138,24 +159,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xn b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xn index 97d8a09ad01..9deda43af18 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xn +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xn @@ -1,5 +1,5 @@ /* Script for -n */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -20,6 +20,37 @@ SECTIONS *(.gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) + . = ALIGN(8); + KEEP (*(SORT_NONE(.fini))) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + KEEP (*(.gcc_except_table)) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + KEEP(*(.jcr)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + . = ALIGN(4); + __rt_psrelocs_start = .; + KEEP(*(.rdata_runtime_pseudo_reloc)) + __rt_psrelocs_end = .; + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -55,41 +86,30 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - KEEP (*(SORT_NONE(.fini))) - /* ??? Why is .gcc_exc here? */ - *(.gcc_exc) - PROVIDE (etext = .); - KEEP (*(.gcc_except_table)) - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data BLOCK(__section_alignment__) : - { - __data_start__ = . ; - *(.data) - *(.data2) - *(SORT(.data$*)) - KEEP(*(.jcr)) - __data_end__ = . ; - *(.data_cygwin_nocopy) - } - .rdata BLOCK(__section_alignment__) : - { - *(.rdata) - *(SORT(.rdata$*)) - . = ALIGN(4); - __rt_psrelocs_start = .; - KEEP(*(.rdata_runtime_pseudo_reloc)) - __rt_psrelocs_end = .; - } - __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start; - ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; - ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; - __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size; + /* .CRT */ + ___crt_xc_start__ = . ; + KEEP (*(SORT(.CRT$XC*))) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + KEEP (*(SORT(.CRT$XT*))) /* Termination */ + ___crt_xt_end__ = . ; + ___crt_xd_start__ = . ; + KEEP (*(SORT(.CRT$XD*))) /* Dynamic TLS Initializer */ + ___crt_xd_end__ = . ; + } + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = __rt_psrelocs_end; + ___RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; + __RUNTIME_PSEUDO_RELOC_LIST__ = __rt_psrelocs_start; .eh_frame BLOCK(__section_alignment__) : { KEEP (*(.eh_frame*)) @@ -121,6 +141,7 @@ SECTIONS *(.drectve) *(.note.GNU-stack) *(.gnu.lto_*) + *(.gnu_object_only) } .idata BLOCK(__section_alignment__) : { @@ -138,24 +159,6 @@ SECTIONS KEEP (SORT(*)(.idata$6)) KEEP (SORT(*)(.idata$7)) } - .CRT BLOCK(__section_alignment__) : - { - ___crt_xc_start__ = . ; - KEEP (*(SORT(.CRT$XC*))) /* C initialization */ - ___crt_xc_end__ = . ; - ___crt_xi_start__ = . ; - KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */ - ___crt_xi_end__ = . ; - ___crt_xl_start__ = . ; - KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */ - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - ___crt_xp_start__ = . ; - KEEP (*(SORT(.CRT$XP*))) /* Pre-termination */ - ___crt_xp_end__ = . ; - ___crt_xt_start__ = . ; - KEEP (*(SORT(.CRT$XT*))) /* Termination */ - ___crt_xt_end__ = . ; - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xr b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xr index 27b0f0cca1d..d3b3f127e0e 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xr +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xr @@ -1,5 +1,5 @@ /* Script for -r */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -25,6 +25,9 @@ SECTIONS { *(.rdata) . = ALIGN(4); + /* .ctors & .dtors */ + /* .CRT */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ } .eh_frame : { @@ -58,10 +61,6 @@ SECTIONS /* This cannot currently be handled with grouped sections. See pep.em:sort_sections. */ } - .CRT : - { - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xu b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xu index 19b15c90965..6aeb4f34e99 100644 --- a/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xu +++ b/usr/x86_64-pc-msys/lib/ldscripts/i386pep.xu @@ -1,5 +1,5 @@ /* Script for -Ur */ -/* Copyright (C) 2014-2024 Free Software Foundation, Inc. +/* Copyright (C) 2014-2025 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ @@ -10,6 +10,23 @@ SECTIONS .text : { *(.text) + . = ALIGN(8); + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ + .data : + { + *(.data) + KEEP(*(.jcr)) + } + .rdata : + { + *(.rdata) + . = ALIGN(4); + /* .ctors & .dtors */ . = ALIGN(8); /* Note: we always define __CTOR_LIST__ and ___CTOR_LIST__ here, we do not PROVIDE them. This is because the ctors.o startup @@ -45,21 +62,8 @@ SECTIONS KEEP (*(.dtor)); KEEP (*(SORT_BY_NAME(.dtors.*))); LONG (0); LONG (0); - } - /* The Cygwin32 library uses a section to avoid copying certain data - on fork. This used to be named ".data". The linker used - to include this between __data_start__ and __data_end__, but that - breaks building the cygwin32 dll. Instead, we name the section - ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ - .data : - { - *(.data) - KEEP(*(.jcr)) - } - .rdata : - { - *(.rdata) - . = ALIGN(4); + /* .CRT */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ } .eh_frame : { @@ -93,10 +97,6 @@ SECTIONS /* This cannot currently be handled with grouped sections. See pep.em:sort_sections. */ } - .CRT : - { - /* ___crt_xl_end__ is defined in the TLS Directory support code */ - } /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be at the end of the .tls section. This is important because _tls_start MUST be at the beginning of the section to enable SECREL32 relocations with TLS diff --git a/var/lib/pacman/local/binutils-2.43.1-1/mtree b/var/lib/pacman/local/binutils-2.43.1-1/mtree deleted file mode 100644 index d48cf9b0614..00000000000 Binary files a/var/lib/pacman/local/binutils-2.43.1-1/mtree and /dev/null differ diff --git a/var/lib/pacman/local/binutils-2.43.1-1/desc b/var/lib/pacman/local/binutils-2.44-1/desc similarity index 78% rename from var/lib/pacman/local/binutils-2.43.1-1/desc rename to var/lib/pacman/local/binutils-2.44-1/desc index e21d69390f8..2c4e4dad060 100644 --- a/var/lib/pacman/local/binutils-2.43.1-1/desc +++ b/var/lib/pacman/local/binutils-2.44-1/desc @@ -2,7 +2,7 @@ binutils %VERSION% -2.43.1-1 +2.44-1 %BASE% binutils @@ -17,16 +17,16 @@ https://www.gnu.org/software/binutils/ x86_64 %BUILDDATE% -1725098371 +1738512049 %INSTALLDATE% -1725247003 +1738553009 %PACKAGER% -CI (msys2/msys2-autobuild/22f1e5ad/10644342492) +CI (msys2/msys2-autobuild/b4421681/13100327938) %SIZE% -41734859 +42353850 %LICENSE% GPL diff --git a/var/lib/pacman/local/binutils-2.43.1-1/files b/var/lib/pacman/local/binutils-2.44-1/files similarity index 99% rename from var/lib/pacman/local/binutils-2.43.1-1/files rename to var/lib/pacman/local/binutils-2.44-1/files index 2b44d20d70a..f3d88d763c8 100644 --- a/var/lib/pacman/local/binutils-2.43.1-1/files +++ b/var/lib/pacman/local/binutils-2.44-1/files @@ -154,6 +154,7 @@ usr/share/locale/ka/LC_MESSAGES/gprof.mo usr/share/locale/ka/LC_MESSAGES/ld.mo usr/share/locale/ms/ usr/share/locale/ms/LC_MESSAGES/ +usr/share/locale/ms/LC_MESSAGES/bfd.mo usr/share/locale/ms/LC_MESSAGES/gprof.mo usr/share/locale/nl/ usr/share/locale/nl/LC_MESSAGES/ diff --git a/var/lib/pacman/local/binutils-2.44-1/mtree b/var/lib/pacman/local/binutils-2.44-1/mtree new file mode 100644 index 00000000000..0e78670196c Binary files /dev/null and b/var/lib/pacman/local/binutils-2.44-1/mtree differ diff --git a/var/lib/pacman/local/mingw-w64-clang-aarch64-git-extra-1.1.641.031e03baf-1/desc b/var/lib/pacman/local/mingw-w64-clang-aarch64-git-extra-1.1.641.031e03baf-1/desc index 43400edb70b..f162aead0f6 100644 --- a/var/lib/pacman/local/mingw-w64-clang-aarch64-git-extra-1.1.641.031e03baf-1/desc +++ b/var/lib/pacman/local/mingw-w64-clang-aarch64-git-extra-1.1.641.031e03baf-1/desc @@ -20,7 +20,7 @@ any 1718204686 %INSTALLDATE% -1738466660 +1738553019 %PACKAGER% Johannes Schindelin diff --git a/var/lib/pacman/sync/clang64.db b/var/lib/pacman/sync/clang64.db index 9a32f9de0ba..5e6b189eea9 100644 Binary files a/var/lib/pacman/sync/clang64.db and b/var/lib/pacman/sync/clang64.db differ diff --git a/var/lib/pacman/sync/clang64.db.sig b/var/lib/pacman/sync/clang64.db.sig index cdf3c75c4b9..d03e52d964f 100644 Binary files a/var/lib/pacman/sync/clang64.db.sig and b/var/lib/pacman/sync/clang64.db.sig differ diff --git a/var/lib/pacman/sync/clangarm64.db b/var/lib/pacman/sync/clangarm64.db index ce90d5bf157..ff2e98abbf9 100644 Binary files a/var/lib/pacman/sync/clangarm64.db and b/var/lib/pacman/sync/clangarm64.db differ diff --git a/var/lib/pacman/sync/clangarm64.db.sig b/var/lib/pacman/sync/clangarm64.db.sig index 1578ab050d9..a76d7290ba9 100644 Binary files a/var/lib/pacman/sync/clangarm64.db.sig and b/var/lib/pacman/sync/clangarm64.db.sig differ diff --git a/var/lib/pacman/sync/mingw32.db b/var/lib/pacman/sync/mingw32.db index 01862ad1420..cd1d87e96e7 100644 Binary files a/var/lib/pacman/sync/mingw32.db and b/var/lib/pacman/sync/mingw32.db differ diff --git a/var/lib/pacman/sync/mingw32.db.sig b/var/lib/pacman/sync/mingw32.db.sig index add684b566f..36dd38ec6f7 100644 Binary files a/var/lib/pacman/sync/mingw32.db.sig and b/var/lib/pacman/sync/mingw32.db.sig differ diff --git a/var/lib/pacman/sync/mingw64.db b/var/lib/pacman/sync/mingw64.db index 2f671722279..863b881de83 100644 Binary files a/var/lib/pacman/sync/mingw64.db and b/var/lib/pacman/sync/mingw64.db differ diff --git a/var/lib/pacman/sync/mingw64.db.sig b/var/lib/pacman/sync/mingw64.db.sig index 24e208ce1c3..6b28834da38 100644 Binary files a/var/lib/pacman/sync/mingw64.db.sig and b/var/lib/pacman/sync/mingw64.db.sig differ diff --git a/var/lib/pacman/sync/msys.db b/var/lib/pacman/sync/msys.db index 71c917fc7ce..dc316390bf2 100644 Binary files a/var/lib/pacman/sync/msys.db and b/var/lib/pacman/sync/msys.db differ diff --git a/var/lib/pacman/sync/msys.db.sig b/var/lib/pacman/sync/msys.db.sig index 6533550beae..b9d262225b2 100644 Binary files a/var/lib/pacman/sync/msys.db.sig and b/var/lib/pacman/sync/msys.db.sig differ diff --git a/var/lib/pacman/sync/ucrt64.db b/var/lib/pacman/sync/ucrt64.db index f0f1debab46..a4f1a3c4b2e 100644 Binary files a/var/lib/pacman/sync/ucrt64.db and b/var/lib/pacman/sync/ucrt64.db differ diff --git a/var/lib/pacman/sync/ucrt64.db.sig b/var/lib/pacman/sync/ucrt64.db.sig index bd589455cec..e599b8aa809 100644 Binary files a/var/lib/pacman/sync/ucrt64.db.sig and b/var/lib/pacman/sync/ucrt64.db.sig differ