/[gcl]/gcl/bfdtest.c
ViewVC logotype

Diff of /gcl/bfdtest.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by mjthomas, Tue Jul 29 06:40:05 2003 UTC revision 1.5 by mjthomas, Tue Jul 29 07:26:24 2003 UTC
# Line 17  int build_symbol_table_bfd ( char *oname Line 17  int build_symbol_table_bfd ( char *oname
17      int u,v;      int u,v;
18      asymbol **q;      asymbol **q;
19    
20        bfd_init();
21      if ( ! ( exe_bfd = bfd_openr ( oname, 0 ) ) ) {      if ( ! ( exe_bfd = bfd_openr ( oname, 0 ) ) ) {
22          fprintf ( stderr, "Cannot open self.\n" );          fprintf ( stderr, "Cannot open %s.\n", oname );
23          exit ( 0 );          exit ( 0 );
24      }      }
25            
# Line 27  int build_symbol_table_bfd ( char *oname Line 28  int build_symbol_table_bfd ( char *oname
28          exit ( 0 );          exit ( 0 );
29      }      }
30            
31      if (!(link_info.hash = bfd_link_hash_table_create (exe_bfd))) {      if ( !(link_info.hash = bfd_link_hash_table_create ( exe_bfd ) ) ) {
32          fprintf ( stderr, "Cannot make hash table.\n" );          fprintf ( stderr, "Cannot make hash table.\n" );
33          exit ( 0 );          exit ( 0 );
34      }      }
35            
36      if (!bfd_link_add_symbols(exe_bfd,&link_info)) {      if ( !bfd_link_add_symbols ( exe_bfd, &link_info ) ) {
37          fprintf ( stderr, "Cannot add self symbols\n.\n" );          fprintf ( stderr, "Cannot add self symbols\n.\n" );
38          exit ( 0 );          exit ( 0 );
39      }      }
40            
41      if ((u=bfd_get_symtab_upper_bound(exe_bfd))<0) {      if ( ( u = bfd_get_symtab_upper_bound ( exe_bfd ) ) < 0 ) {
42          fprintf ( stderr, "Cannot get self's symtab upper bound.\n" );          fprintf ( stderr, "Cannot get self's symtab upper bound.\n" );
43          exit ( 0 );          exit ( 0 );
44      }      }
# Line 255  int main ( int argc, char ** argv ) Line 256  int main ( int argc, char ** argv )
256                sizeof ( rhtt ) );                sizeof ( rhtt ) );
257            
258      if ( argc < 3 ) {      if ( argc < 3 ) {
259          fprintf ( stderr, "Need an executable and an object file as arguments.\n" );          fprintf ( stderr, "Need an executable (eg raw_gcl.exe) and an object file as arguments.\n" );
260      } else {      } else {
261    
262          memset ( &link_info, 0, sizeof (link_info) );          memset ( &link_info, 0, sizeof (link_info) );
# Line 263  int main ( int argc, char ** argv ) Line 264  int main ( int argc, char ** argv )
264          memset ( &link_callbacks, 0, sizeof (link_callbacks) );          memset ( &link_callbacks, 0, sizeof (link_callbacks) );
265                    
266    
267          bfd_init();          fprintf ( stderr, "BUILDING EXECUTABLE SYMBOL TABLE FOR %s \n", argv[1] );
   
         fprintf ( stderr, "BUILDING EXECUTABLE SYMBOL TABLE (ARGV[1]) \n\n" );  
268          build_symbol_table_bfd ( argv[1] );                  build_symbol_table_bfd ( argv[1] );        
269    
270          link_callbacks.add_archive_element=madd_archive_element;          link_callbacks.add_archive_element=madd_archive_element;
# Line 282  int main ( int argc, char ** argv ) Line 281  int main ( int argc, char ** argv )
281          link_info.callbacks = &link_callbacks;          link_info.callbacks = &link_callbacks;
282          link_order.type = bfd_indirect_link_order;          link_order.type = bfd_indirect_link_order;
283    
284            fprintf ( stderr, "OPENING OBJECT FILE %s\n", argv[2] );
285          if ( ! ( obj_bfd = bfd_openr ( argv[2], 0 ) ) ) {          if ( ! ( obj_bfd = bfd_openr ( argv[2], 0 ) ) ) {
286              fprintf ( stderr, "Cannot open bfd.\n" );              fprintf ( stderr, "Cannot open bfd.\n" );
287          }          }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26