public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] gdb-17.2-rebase-f44: Fix strict-aliasing rules compilation error (RH BZ 1315191).
Date: Sat, 27 Jun 2026 23:57:32 GMT	[thread overview]
Message-ID: <178260465251.1.1040435793515351163.rpms-gdb-01264bee1042@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 01264bee104274e494b5ebbf96610f0f079288a3
Author : Jan Kratochvil <jan.kratochvil@redhat.com>
Date   : 2016-03-08T15:03:26+01:00
Stats  : +204/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/01264bee104274e494b5ebbf96610f0f079288a3?branch=gdb-17.2-rebase-f44

Log:
Fix strict-aliasing rules compilation error (RH BZ 1315191).

---
diff --git a/gdb-bfd-aliasing.patch b/gdb-bfd-aliasing.patch
new file mode 100644
index 0000000..0b06c14
--- /dev/null
+++ b/gdb-bfd-aliasing.patch
@@ -0,0 +1,196 @@
+http://sourceware.org/ml/binutils/2016-03/msg00119.html
+Subject: [patch] aout+coff: Fix strict-aliasing rules error
+
+
+--IJpNTDwzlM2Ie8A6
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+
+Hi,
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1315191 by Dan Horak
+gcc (GCC) 6.0.0 20160308 (experimental)
+gcc-6.0.0-0.15.fc24
+gcc-6.0.0-0.15.fc25
+It did compile with:
+gcc-6.0.0-0.14.fc24
+
+aoutx.h:2504:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       int type_code = aout_symbol (symbol)->type & 0xff;
+       ^~~
+coffcode.h:1817:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+   coffsymbol (section->symbol)->native = native;
+   ^~~~~~~~~~
+
+Full log attached.
+
+This fix is probably wrong as it drops the type safety.  But ({ statements as
+expressions }) are probably not allowed in GDB.
+
+
+Jan
+
+--IJpNTDwzlM2Ie8A6
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline; filename=1
+
+bfd/
+2016-03-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix strict-aliasing rules compilation error.
+	* libaout.h (aout_symbol): Remove type safe indirection.
+	* libcoff-in.h (coffsymbol): Likewise.
+	* libcoff.h: Regenerate.
+
+diff --git a/bfd/libaout.h b/bfd/libaout.h
+index 8b70a9f..b60c40c 100644
+--- a/bfd/libaout.h
++++ b/bfd/libaout.h
+@@ -448,9 +448,7 @@ struct  aout_data_struct
+ #define obj_aout_sym_hashes(bfd)           (adata (bfd).sym_hashes)
+ #define obj_aout_dynamic_info(bfd)         (adata (bfd).dynamic_info)
+ 
+-/* We take the address of the first element of an asymbol to ensure that the
+-   macro is only ever applied to an asymbol.  */
+-#define aout_symbol(asymbol) ((aout_symbol_type *)(&(asymbol)->the_bfd))
++#define aout_symbol(asymbol) ((aout_symbol_type *) (asymbol))
+ 
+ /* Information we keep for each a.out section.  This is currently only
+    used by the a.out backend linker.  */
+diff --git a/bfd/libcoff-in.h b/bfd/libcoff-in.h
+index 80f999d..fa1e9ac 100644
+--- a/bfd/libcoff-in.h
++++ b/bfd/libcoff-in.h
+@@ -188,9 +188,7 @@ struct xcoff_tdata
+ 
+ #define xcoff_data(abfd) ((abfd)->tdata.xcoff_obj_data)
+ 
+-/* We take the address of the first element of an asymbol to ensure that the
+-   macro is only ever applied to an asymbol.  */
+-#define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd)))
++#define coffsymbol(asymbol) ((coff_symbol_type *) (asymbol))
+ 
+ /* Tdata for sections in XCOFF files.  This is used by the linker.  */
+ 
+diff --git a/bfd/libcoff.h b/bfd/libcoff.h
+index bbed3e0..8ce525b 100644
+--- a/bfd/libcoff.h
++++ b/bfd/libcoff.h
+@@ -192,9 +192,7 @@ struct xcoff_tdata
+ 
+ #define xcoff_data(abfd) ((abfd)->tdata.xcoff_obj_data)
+ 
+-/* We take the address of the first element of an asymbol to ensure that the
+-   macro is only ever applied to an asymbol.  */
+-#define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd)))
++#define coffsymbol(asymbol) ((coff_symbol_type *) (asymbol))
+ 
+ /* Tdata for sections in XCOFF files.  This is used by the linker.  */
+ 
+
+--IJpNTDwzlM2Ie8A6
+Content-Type: text/plain; charset=iso-2022-jp
+Content-Disposition: inline; filename=2
+
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT aout32.lo -MD -MP -MF .deps/aout32.Tpo -c aout32.c -o aout32.o
+In file included from aout32.c:24:0:
+aoutx.h: In function ^[$B!F^[(Baout_32_write_syms^[$B!G^[(B:
+aoutx.h:1871:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    H_PUT_16 (abfd, aout_symbol (g)->desc,  nsp.e_desc);
+    ^~~~~~~~
+aoutx.h:1872:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    H_PUT_8  (abfd, aout_symbol (g)->other, nsp.e_other);
+    ^~~~~~~
+aoutx.h:1873:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    H_PUT_8  (abfd, aout_symbol (g)->type,  nsp.e_type);
+    ^~~~~~~
+aoutx.h: In function ^[$B!F^[(Baout_32_get_symbol_info^[$B!G^[(B:
+aoutx.h:2504:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       int type_code = aout_symbol (symbol)->type & 0xff;
+       ^~~
+aoutx.h:2515:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       ret->stab_other = (unsigned) (aout_symbol (symbol)->other & 0xff);
+       ^~~
+aoutx.h:2516:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       ret->stab_desc = (unsigned) (aout_symbol (symbol)->desc & 0xffff);
+       ^~~
+aoutx.h: In function ^[$B!F^[(Baout_32_print_symbol^[$B!G^[(B:
+aoutx.h:2537:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+         (unsigned) (aout_symbol (symbol)->desc & 0xffff),
+         ^
+aoutx.h:2538:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+         (unsigned) (aout_symbol (symbol)->other & 0xff),
+         ^
+aoutx.h:2539:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+         (unsigned) (aout_symbol (symbol)->type));
+         ^
+aoutx.h:2549:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    (unsigned) (aout_symbol (symbol)->desc & 0xffff),
+    ^
+aoutx.h:2550:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    (unsigned) (aout_symbol (symbol)->other & 0xff),
+    ^
+aoutx.h:2551:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    (unsigned) (aout_symbol (symbol)->type & 0xff));
+    ^
+cc1: all warnings being treated as errors
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT pei-i386.lo -MD -MP -MF .deps/pei-i386.Tpo -c pei-i386.c -o pei-i386.o
+In file included from coff-i386.c:614:0,
+                 from pei-i386.c:45:
+coffcode.h: In function ^[$B!F^[(Bcoff_new_section_hook^[$B!G^[(B:
+coffcode.h:1817:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+   coffsymbol (section->symbol)->native = native;
+   ^~~~~~~~~~
+cc1: all warnings being treated as errors
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT coffgen.lo -MD -MP -MF .deps/coffgen.Tpo -c coffgen.c -o coffgen.o
+coffgen.c: In function ^[$B!F^[(Bcoff_get_lineno^[$B!G^[(B:
+coffgen.c:1510:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+   return coffsymbol (symbol)->lineno;
+   ^~~~~~
+coffgen.c: In function ^[$B!F^[(Bcoff_get_symbol_info^[$B!G^[(B:
+coffgen.c:2034:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+   if (coffsymbol (symbol)->native != NULL
+   ^~
+coffgen.c:2035:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       && coffsymbol (symbol)->native->fix_value
+       ^~
+coffgen.c:2036:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       && coffsymbol (symbol)->native->is_sym)
+       ^~
+coffgen.c:2037:5: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+     ret->value = coffsymbol (symbol)->native->u.syment.n_value -
+     ^~~
+coffgen.c: In function ^[$B!F^[(Bcoff_print_symbol^[$B!G^[(B:
+coffgen.c:2059:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+         coffsymbol (symbol)->native ? "n" : "g",
+         ^~~~~~~~~~
+coffgen.c:2060:9: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+         coffsymbol (symbol)->lineno ? "l" : " ");
+         ^~~~~~~~~~
+coffgen.c:2064:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+       if (coffsymbol (symbol)->native)
+       ^~
+coffgen.c:2068:4: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    combined_entry_type *combined = coffsymbol (symbol)->native;
+    ^~~~~~~~~~~~~~~~~~~
+coffgen.c:2070:11: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+    struct lineno_cache_entry *l = coffsymbol (symbol)->lineno;
+           ^~~~~~~~~~~~~~~~~~
+coffgen.c:2191:6: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+      coffsymbol (symbol)->native ? "n" : "g",
+      ^~~~~~~~~~
+coffgen.c:2192:6: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+      coffsymbol (symbol)->lineno ? "l" : " ",
+      ^~~~~~~~~~
+cc1: all warnings being treated as errors
+libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -I./../include -DHAVE_x86_64_elf64_vec -DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_x86_64_elf32_vec -DHAVE_i386_aout_linux_vec -DHAVE_i386_pei_vec -DHAVE_x86_64_pei_vec -DHAVE_l1om_elf64_vec -DHAVE_k1om_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -DBINDIR=\"/usr/local/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I./../zlib -g -O2 -MT pei-x86_64.lo -MD -MP -MF .deps/pei-x86_64.Tpo -c pei-x86_64.c -o pei-x86_64.o
+In file included from coff-x86_64.c:741:0,
+                 from pei-x86_64.c:763:
+coffcode.h: In function ^[$B!F^[(Bcoff_new_section_hook^[$B!G^[(B:
+coffcode.h:1817:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+   coffsymbol (section->symbol)->native = native;
+   ^~~~~~~~~~
+cc1: all warnings being treated as errors
+
+--IJpNTDwzlM2Ie8A6--
+

diff --git a/gdb.spec b/gdb.spec
index fe04163..a5f7192 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -27,7 +27,7 @@ Version: 7.11
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 58%{?dist}
+Release: 59%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
 Group: Development/Debuggers
@@ -554,6 +554,9 @@ Patch1073: gdb-opcodes-clflushopt-test.patch
 # [testsuite] Fix false selftest.exp FAIL from system readline-6.3+ (Patrick Palka).
 Patch1075: gdb-testsuite-readline63-sigint.patch
 
+# Fix strict-aliasing rules compilation error (RH BZ 1315191).
+Patch1107: gdb-bfd-aliasing.patch
+
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 # RL_STATE_FEDORA_GDB would not be found for:
 # Patch642: gdb-readline62-ask-more-rh.patch
@@ -867,6 +870,7 @@ find -name "*.info*"|xargs rm -f
 %patch337 -p1
 %patch331 -p1
 %patch1075 -p1
+%patch1107 -p1
 
 %if 0%{?rhel:1} && 0%{?rhel} <= 7
 %patch1044 -p1
@@ -1384,6 +1388,9 @@ then
 fi
 
 %changelog
+* Tue Mar  8 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.11-59.fc24
+- Fix strict-aliasing rules compilation error (RH BZ 1315191).
+
 * Fri Feb 26 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.11-58.fc24
 - Rebase VLA (Fortran dynamic arrays) strides (multi-dim. subarrays) from Intel.
 

                 reply	other threads:[~2026-06-27 23:57 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178260465251.1.1040435793515351163.rpms-gdb-01264bee1042@fedoraproject.org \
    --to=jan.kratochvil@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox