[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] [ RFC] About packing two infos in a long v2

From: robotux
Subject: Re: [Tinycc-devel] [ RFC] About packing two infos in a long v2
Date: Thu, 15 Nov 2012 16:29:52 +0100
User-agent: Roundcube Webmail/0.5.3

On Thu, 15 Nov 2012 16:12:17 +0100, grischka wrote:


Well, why not.  It doesn't cover yet consequent pass-trough of the
AttributeDef but it could be a step in the right direction.

Good, I did it in the mean time.

I'd suggest changing
static void put_got_offset(TCCState *s1, int index, unsigned long val);
into a more general
static struct sym_attribute *get_sym_attribute(TCCState *s1, int index);
which would expand the array with an empty entry if needed.

Thus the currently single instance of usage
    put_got_offset(s1, sym_index, s1->got->data_offset);
would become
get_sym_attribute(s1, sym_index)->got_offset = s1->got->data_offset;

I already did a general function to store a value but I adopted a different approach:

#define put_sym_attr(s,index,field,val) \
    alloc_sym_attr(s, index);           \
    s->sym_attrs[index].field = val

where alloc_sym_attr is the old put_got_offset without the assignment line at the end. See attached file for the full patch (only tested on x86-64 so far, I'll try to compile it on arm later).

If this is not fine for you, I'll change it happily.

Anyway, just my 2 cents of completely untested suggestions. ;)

--- grischka


Attachment: Generate-PLT-Thumb-stub-only-when-necessary.patch
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]