Re: [PATCH] ALSA: drivers: make array 'names' const, reduces object code size

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

 



On Nov 28 2017 04:51, Takashi Iwai wrote:
On Mon, 27 Nov 2017 18:34:17 +0100,
Takashi Sakamoto wrote:

Hi,

On Nov 27 2017 21:58, Colin King wrote:
From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Don't populate array 'names' on the stack but instead make them static.
Makes the object code smaller by 50 bytes:

Before:
     text	   data	    bss	    dec	    hex	filename
    21237	   9192	   1120	  31549	   7b3d	linux/sound/drivers/dummy.o

After:
     text	   data	    bss	    dec	    hex	filename
    21095	   9280	   1120	  31495	   7b07	linux/sound/drivers/dummy.o

(gcc version 7.2.0 x86_64)

Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
   sound/drivers/dummy.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c
index 7b2b1f766b00..69db45bc0197 100644
--- a/sound/drivers/dummy.c
+++ b/sound/drivers/dummy.c
@@ -830,7 +830,7 @@ static int snd_dummy_capsrc_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el
   static int snd_dummy_iobox_info(struct snd_kcontrol *kcontrol,
   				struct snd_ctl_elem_info *info)
   {
-	const char *const names[] = { "None", "CD Player" };
+	static const char *const names[] = { "None", "CD Player" };
     	return snd_ctl_enum_info(info, 1, 2, names);
   }

Total size of snd-dummy.ko increases but this patch has an advantage
to have the symbol in read-only section.

The total size decreases :)

Ah, yes. The state of my local build tree is not good to calculate it... In fact, the relocatable object decreases its size when built with a header package from Ubuntu repository.


Thanks

Takashi Sakamoto
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux