Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9616 → Rev 9617

/programs/develop/ktcc/trunk/source/tccmeos.c
19,6 → 19,8
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
 
#include "tcc.h"
 
typedef struct {
char magic[8];
int version;
242,13 → 244,10
return sym_name;
}
 
int tcc_find_symbol_me(me_info* me, const char *sym_name)
int tcc_find_symbol_me(me_info* me, const char *sym_name, int* addr)
{
int i;
int symtab;
int strtab;
symtab=0;
strtab=0;
int i, symtab = 0, strtab = 0;
*addr = 0;
for (i=1;i<me->s1->nb_sections;i++)
{
Section* s;
276,7 → 275,8
{
if (strcmp(name+s->st_name,sym_name)==0)
{
return s->st_value+findsection(me,s->st_shndx)->sh_addr;
*addr = s->st_value+findsection(me,s->st_shndx)->sh_addr;
return 1;
}
s++;
}
303,11 → 303,9
if (s1->do_debug)
tcc_output_dbgme(filename, &me);
 
me.header.entry_point=tcc_find_symbol_me(&me,"start");
me.header.params= tcc_find_symbol_me(&me,"__argv"); // <--
me.header.argv= tcc_find_symbol_me(&me,"__path"); // <--
 
if (!me.header.entry_point || !me.header.params || me.header.argv) {
if (!tcc_find_symbol_me(&me, "start", &me.header.entry_point) |
!tcc_find_symbol_me(&me, "__argv", &me.header.params) |
!tcc_find_symbol_me(&me, "__path", &me.header.argv)) {
exit(1);
}
 
484,7 → 482,7
strcpy(cur_fun, stabstr_section->data + stab->n_strx);
str = strchr(cur_fun, ':');
if (str) *str = '\0';
cur_fun_addr = tcc_find_symbol_me(me, cur_fun);
tcc_find_symbol_me(me, cur_fun, &cur_fun_addr);
cur_line = stab->n_desc;
fun_flag = 1;
//fprintf(fdbg, "0x%X %s() line(%d)\n", cur_fun_addr, cur_fun, cur_line); // commented as conflicted with direct address