* ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
bfd_set_error and new error names.
This commit is contained in:
parent
7681bc7b30
commit
5bcb7f28e1
4 changed files with 18 additions and 64 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Thu Feb 17 09:32:14 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||||||
|
|
||||||
|
* ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
|
||||||
|
bfd_set_error and new error names.
|
||||||
|
|
||||||
Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
||||||
|
|
||||||
* ldwrite.c (build_link_order): If the cooked size of the section
|
* ldwrite.c (build_link_order): If the cooked size of the section
|
||||||
|
|
|
@ -867,7 +867,7 @@ open_output (name)
|
||||||
|
|
||||||
if (output == (bfd *) NULL)
|
if (output == (bfd *) NULL)
|
||||||
{
|
{
|
||||||
if (bfd_error == invalid_target)
|
if (bfd_get_error () == bfd_error_invalid_target)
|
||||||
{
|
{
|
||||||
einfo ("%P%F: target %s not found\n", output_target);
|
einfo ("%P%F: target %s not found\n", output_target);
|
||||||
}
|
}
|
||||||
|
@ -1792,10 +1792,10 @@ lang_size_sections (s, output_section_statement, prev, fill, dot, relax)
|
||||||
i->owner->symcount = is->ifile->symbol_count;
|
i->owner->symcount = is->ifile->symbol_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
bfd_error = no_error;
|
bfd_set_error (bfd_error_no_error);
|
||||||
if (bfd_relax_section (i->owner, i, &link_info, is->ifile->asymbols))
|
if (bfd_relax_section (i->owner, i, &link_info, is->ifile->asymbols))
|
||||||
had_relax = true;
|
had_relax = true;
|
||||||
else if (bfd_error != no_error)
|
else if (bfd_get_error () != bfd_error_no_error)
|
||||||
einfo ("%P%F: can't relax section: %E");
|
einfo ("%P%F: can't relax section: %E");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -153,10 +153,11 @@ main (argc, argv)
|
||||||
long start_time = get_run_time ();
|
long start_time = get_run_time ();
|
||||||
|
|
||||||
program_name = argv[0];
|
program_name = argv[0];
|
||||||
|
xmalloc_set_program_name (program_name);
|
||||||
|
|
||||||
bfd_init ();
|
bfd_init ();
|
||||||
|
|
||||||
atexit (remove_output);
|
xatexit (remove_output);
|
||||||
|
|
||||||
/* Initialize the data about options. */
|
/* Initialize the data about options. */
|
||||||
trace_files = trace_file_tries = version_printed = false;
|
trace_files = trace_file_tries = version_printed = false;
|
||||||
|
@ -308,7 +309,7 @@ main (argc, argv)
|
||||||
char *lim = (char *) sbrk (0);
|
char *lim = (char *) sbrk (0);
|
||||||
long run_time = get_run_time () - start_time;
|
long run_time = get_run_time () - start_time;
|
||||||
|
|
||||||
fprintf (stderr, "%s: total time in link: %d.%06d\n",
|
fprintf (stderr, "%s: total time in link: %ld.%06ld\n",
|
||||||
program_name, run_time / 1000000, run_time % 1000000);
|
program_name, run_time / 1000000, run_time % 1000000);
|
||||||
fprintf (stderr, "%s: data size %ld\n", program_name,
|
fprintf (stderr, "%s: data size %ld\n", program_name,
|
||||||
(long) (lim - (char *) &environ));
|
(long) (lim - (char *) &environ));
|
||||||
|
@ -483,7 +484,7 @@ add_keepsyms_file (filename)
|
||||||
file = fopen (filename, "r");
|
file = fopen (filename, "r");
|
||||||
if (file == (FILE *) NULL)
|
if (file == (FILE *) NULL)
|
||||||
{
|
{
|
||||||
bfd_error = system_call_error;
|
bfd_set_error (bfd_error_system_call);
|
||||||
einfo ("%X%P: %s: %E", filename);
|
einfo ("%X%P: %s: %E", filename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
64
ld/ldmisc.c
64
ld/ldmisc.c
|
@ -1,5 +1,5 @@
|
||||||
/* ldmisc.c
|
/* ldmisc.c
|
||||||
Copyright (C) 1991, 1993 Free Software Foundation, Inc.
|
Copyright (C) 1991, 92, 93, 94 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Written by Steve Chamberlain of Cygnus Support.
|
Written by Steve Chamberlain of Cygnus Support.
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ vfinfo(fp, fmt, arg)
|
||||||
|
|
||||||
case 'E':
|
case 'E':
|
||||||
/* current bfd error or errno */
|
/* current bfd error or errno */
|
||||||
fprintf(fp, bfd_errmsg(bfd_error));
|
fprintf(fp, bfd_errmsg(bfd_get_error ()));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'I':
|
case 'I':
|
||||||
|
@ -237,7 +237,7 @@ vfinfo(fp, fmt, arg)
|
||||||
unsigned int symbol_count;
|
unsigned int symbol_count;
|
||||||
|
|
||||||
symsize = get_symtab_upper_bound (abfd);
|
symsize = get_symtab_upper_bound (abfd);
|
||||||
asymbols = (asymbol **) ldmalloc (symsize);
|
asymbols = (asymbol **) xmalloc (symsize);
|
||||||
symbol_count = bfd_canonicalize_symtab (abfd, asymbols);
|
symbol_count = bfd_canonicalize_symtab (abfd, asymbols);
|
||||||
if (entry != (lang_input_statement_type *) NULL)
|
if (entry != (lang_input_statement_type *) NULL)
|
||||||
{
|
{
|
||||||
|
@ -280,16 +280,7 @@ vfinfo(fp, fmt, arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fatal == true)
|
if (fatal == true)
|
||||||
{
|
xexit(1);
|
||||||
if (output_filename)
|
|
||||||
{
|
|
||||||
if (output_bfd && output_bfd->iostream)
|
|
||||||
fclose((FILE *)(output_bfd->iostream));
|
|
||||||
if (delete_output_file_on_failure)
|
|
||||||
unlink (output_filename);
|
|
||||||
}
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Format info message and print on stdout. */
|
/* Format info message and print on stdout. */
|
||||||
|
@ -370,7 +361,7 @@ concat (s1, s2, s3)
|
||||||
size_t len1 = strlen (s1);
|
size_t len1 = strlen (s1);
|
||||||
size_t len2 = strlen (s2);
|
size_t len2 = strlen (s2);
|
||||||
size_t len3 = strlen (s3);
|
size_t len3 = strlen (s3);
|
||||||
char *result = ldmalloc (len1 + len2 + len3 + 1);
|
char *result = xmalloc (len1 + len2 + len3 + 1);
|
||||||
|
|
||||||
if (len1 != 0)
|
if (len1 != 0)
|
||||||
memcpy(result, s1, len1);
|
memcpy(result, s1, len1);
|
||||||
|
@ -383,55 +374,12 @@ concat (s1, s2, s3)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PTR
|
|
||||||
ldmalloc (size)
|
|
||||||
size_t size;
|
|
||||||
{
|
|
||||||
PTR result = malloc ((int)size);
|
|
||||||
|
|
||||||
if (result == (char *)NULL && size != 0)
|
|
||||||
einfo("%F%P: virtual memory exhausted\n");
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
PTR
|
|
||||||
xmalloc (size)
|
|
||||||
int size;
|
|
||||||
{
|
|
||||||
return ldmalloc ((size_t) size);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
PTR
|
|
||||||
ldrealloc (ptr, size)
|
|
||||||
PTR ptr;
|
|
||||||
size_t size;
|
|
||||||
{
|
|
||||||
PTR result = realloc (ptr, (int)size);
|
|
||||||
|
|
||||||
if (result == (char *)NULL && size != 0)
|
|
||||||
einfo("%F%P: virtual memory exhausted\n");
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
PTR
|
|
||||||
xrealloc (ptr, size)
|
|
||||||
PTR ptr;
|
|
||||||
int size;
|
|
||||||
{
|
|
||||||
return ldrealloc (ptr, (size_t) size);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
buystring (x)
|
buystring (x)
|
||||||
CONST char *CONST x;
|
CONST char *CONST x;
|
||||||
{
|
{
|
||||||
size_t l = strlen(x)+1;
|
size_t l = strlen(x)+1;
|
||||||
char *r = ldmalloc(l);
|
char *r = xmalloc(l);
|
||||||
memcpy(r, x,l);
|
memcpy(r, x,l);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue