Skip to contentSkip to conversation

Status of function-sections work?

DISCUSSION Denys Vlasenko 2 participants 3 messages Jun 7, 2011 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20110606011531.GA1887@leaf

#1 lore raw
Quoted 10 lines · Josh Triplett

Hello,

I found your work in 2010 on using function-sections and data-sections to eliminate unused code in the kernel. I'd like to make use of this work to try to build an extremely space-constrained kernel.

It looks like a few of your patches made it into the kernel, but most of the linker script changes don't seem to have made it in. I wanted to find out the status of this work. Do you still have this working? Do you have versions of your patches for current Linux?

parisc uses ^ in some identifiers. Therefore we need something like [A-Za-z0-9_$^]* in linker script. This wasn't working with GNU ld - ^ is not a valid char for pattern. Use of more general [!.]* was also impossible - ! is not a valid char too.

Therefore I asked binutils people to fix this (they agreed) and decided to wait for a fixed binutils to be released.

Quoted 1 line

Have you considered re-submitting?

Yes, I need to do this...

Signature · 1 line
vda
#2 lore raw
Quoted 12 lines · Denys Vlasenko
Quoted 10 lines · Josh Triplett

Hello,

I found your work in 2010 on using function-sections and data-sections to eliminate unused code in the kernel. I'd like to make use of this work to try to build an extremely space-constrained kernel.

It looks like a few of your patches made it into the kernel, but most of the linker script changes don't seem to have made it in. I wanted to find out the status of this work. Do you still have this working? Do you have versions of your patches for current Linux?

Quoted 7 lines

parisc uses ^ in some identifiers. Therefore we need something like [A-Za-z0-9_$^]* in linker script. This wasn't working with GNU ld - ^ is not a valid char for pattern. Use of more general [!.]* was also impossible - ! is not a valid char too.

Therefore I asked binutils people to fix this (they agreed) and decided to wait for a fixed binutils to be released.

Makes sense. Thanks for the explanation and status.

Do you know if the fix has gone into binutils, either in a release or the latest snapshot from version control? If not, does a patch exist?

- Josh Triplett

#3 lore raw
Quoted 18 lines · Josh Triplett
Quoted 17 lines · Denys Vlasenko
Quoted 10 lines · Josh Triplett

Hello,

I found your work in 2010 on using function-sections and data-sections to eliminate unused code in the kernel.  I'd like to make use of this work to try to build an extremely space-constrained kernel.

It looks like a few of your patches made it into the kernel, but most of the linker script changes don't seem to have made it in.  I wanted to find out the status of this work.  Do you still have this working?  Do you have versions of your patches for current Linux?

parisc uses ^ in some identifiers. Therefore we need something like [A-Za-z0-9_$^]* in linker script. This wasn't working with GNU ld - ^ is not a valid char for pattern. Use of more general [!.]* was also impossible - ! is not a valid char too.

Quoted 7 lines
Quoted 2 lines

Therefore I asked binutils people to fix this (they agreed) and decided to wait for a fixed binutils to be released.

Makes sense.  Thanks for the explanation and status.

Do you know if the fix has gone into binutils, either in a release or the latest snapshot from version control?  If not, does a patch exist?

Yes, latest released binutils has the fix.

Signature · 1 line
vda