projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix crash when TUI window creation fails
[deliverable/binutils-gdb.git]
/
gas
/
subsegs.c
diff --git
a/gas/subsegs.c
b/gas/subsegs.c
index eb7919531877fd46189e33948720a9dbd0c1f535..1b72948abadbac4cee0e5580573bdb469a2c5d81 100644
(file)
--- a/
gas/subsegs.c
+++ b/
gas/subsegs.c
@@
-1,5
+1,5
@@
/* subsegs.c - subsegments -
/* subsegs.c - subsegments -
- Copyright (C) 1987-20
14
Free Software Foundation, Inc.
+ Copyright (C) 1987-20
20
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
This file is part of GAS, the GNU Assembler.
@@
-55,7
+55,7
@@
subsegs_begin (void)
* segment context correct.
*/
void
* segment context correct.
*/
void
-subseg_change (
register segT seg, register
int subseg)
+subseg_change (
segT seg,
int subseg)
{
segment_info_type *seginfo = seg_info (seg);
now_seg = seg;
{
segment_info_type *seginfo = seg_info (seg);
now_seg = seg;
@@
-63,9
+63,9
@@
subseg_change (register segT seg, register int subseg)
if (! seginfo)
{
if (! seginfo)
{
- seginfo =
(segment_info_type *) xcalloc (1, sizeof (*seginfo)
);
+ seginfo =
XCNEW (segment_info_type
);
seginfo->bfd_section = seg;
seginfo->bfd_section = seg;
- bfd_set_section_userdata (s
tdoutput, s
eg, seginfo);
+ bfd_set_section_userdata (seg, seginfo);
}
}
\f
}
}
\f
@@
-146,9
+146,7
@@
subseg_get (const char *segname, int force_new)
{
segT secptr;
segment_info_type *seginfo;
{
segT secptr;
segment_info_type *seginfo;
- const char *now_seg_name = (now_seg
- ? bfd_get_section_name (stdoutput, now_seg)
- : 0);
+ const char *now_seg_name = now_seg ? bfd_section_name (now_seg) : 0;
if (!force_new
&& now_seg_name
if (!force_new
&& now_seg_name
@@
-165,9
+163,9
@@
subseg_get (const char *segname, int force_new)
if (! seginfo)
{
secptr->output_section = secptr;
if (! seginfo)
{
secptr->output_section = secptr;
- seginfo =
(segment_info_type *) xcalloc (1, sizeof (*seginfo)
);
+ seginfo =
XCNEW (segment_info_type
);
seginfo->bfd_section = secptr;
seginfo->bfd_section = secptr;
- bfd_set_section_userdata (s
tdoutput, s
ecptr, seginfo);
+ bfd_set_section_userdata (secptr, seginfo);
}
return secptr;
}
}
return secptr;
}
@@
-260,7
+258,7
@@
section_symbol (segT sec)
int
subseg_text_p (segT sec)
{
int
subseg_text_p (segT sec)
{
- return (bfd_
get_section_flags (stdoutput,
sec) & SEC_CODE) != 0;
+ return (bfd_
section_flags (
sec) & SEC_CODE) != 0;
}
/* Return non zero if SEC has at least one byte of data. It is
}
/* Return non zero if SEC has at least one byte of data. It is
@@
-297,6
+295,10
@@
subsegs_print_statistics (FILE *file)
frchainS *frchp;
asection *s;
frchainS *frchp;
asection *s;
+ /* PR 20897 - check to see if the output bfd was actually created. */
+ if (stdoutput == NULL)
+ return;
+
fprintf (file, "frag chains:\n");
for (s = stdoutput->sections; s; s = s->next)
{
fprintf (file, "frag chains:\n");
for (s = stdoutput->sections; s; s = s->next)
{
This page took
0.025051 seconds
and
4
git commands to generate.