summaryrefslogtreecommitdiff
path: root/toolchain/binutils/patches/2.39/063-PR29542-PowerPC-gold-internal-error-in-get_output_vi.patch
blob: 0d66b7750fc8fb4255748d8393f6c55d94059dbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From 041c22e35de06d22566f4c71e4425c3351215e66 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Sun, 25 Sep 2022 12:07:36 +0930
Subject: [PATCH 063/160] PR29542, PowerPC gold internal error in
 get_output_view,

We were attempting to set a BSS style section contents.

	PR 29542
	* powerpc.cc (Output_data_plt_powerpc::do_write): Don't set .plt,
	.iplt or .lplt section contents when position independent.

(cherry picked from commit c21736aed1d4877e090df60362413669dbdc391d)
---
 gold/powerpc.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -4338,7 +4338,8 @@ template<int size, bool big_endian>
 void
 Output_data_plt_powerpc<size, big_endian>::do_write(Output_file* of)
 {
-  if (!this->sym_ents_.empty())
+  if (!this->sym_ents_.empty()
+      && !parameters->options().output_is_position_independent())
     {
       const section_size_type offset = this->offset();
       const section_size_type oview_size