Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change weak target family descriptors to references #692

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

flit
Copy link
Collaborator

@flit flit commented Jan 13, 2020

This change replaces the default weak family descriptor structs (each taking up the full family descriptor size) in target_family.c with weak references. The purpose is to save .rodata space.

@flit
Copy link
Collaborator Author

flit commented Jan 13, 2020

/morph test

@flit flit mentioned this pull request Jan 15, 2020
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 3, 2020

Can you check test failures to proceed here?

@flit flit force-pushed the refactor/weak_family_descriptors branch 2 times, most recently from 64c531b to 8f6c369 Compare December 8, 2020 20:15
@flit
Copy link
Collaborator Author

flit commented Dec 12, 2020

/morph test

@flit flit force-pushed the refactor/weak_family_descriptors branch from 8f6c369 to efc73ee Compare January 3, 2021 20:52
@flit
Copy link
Collaborator Author

flit commented Jan 3, 2021

/morph test

3 similar comments
@flit
Copy link
Collaborator Author

flit commented Jan 3, 2021

/morph test

@flit
Copy link
Collaborator Author

flit commented Jan 3, 2021

/morph test

@flit
Copy link
Collaborator Author

flit commented Jan 4, 2021

/morph test

- This causes the g_families[] entries to be NULL if the family descriptor
  is not defined. So the g_families terminator was changed to all Fs
  and init_families() updated appropriately.
- This changed saves quite a bit of .rodata.
@flit flit force-pushed the refactor/weak_family_descriptors branch from 7b957f4 to 3788fda Compare January 11, 2021 21:30
@flit
Copy link
Collaborator Author

flit commented Jan 11, 2021

/morph test

1 similar comment
@flit
Copy link
Collaborator Author

flit commented Jan 12, 2021

/morph test

@mathias-arm
Copy link
Collaborator

I think this PR has gotten stale. A lot has been merged to develop, but changing

__attribute__((weak)) const target_family_descriptor_t g_xxxxx  = {0};

to

extern __WEAK const target_family_descriptor_t g_xxxx;

caused some issue with armcc so it was backed out (see [fb4b229]).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants