All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot-Users] Help with "warning: 'alias' attribute ignored"
@ 2008-03-11 21:54 Timur Tabi
  2008-03-12  6:09 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 2+ messages in thread
From: Timur Tabi @ 2008-03-11 21:54 UTC (permalink / raw)
  To: u-boot

I'm trying to write code that uses the "pragma weak" feature of gcc to define a
global variable that is used only if it isn't defined somewhere else.  I thought
I had it working, but then I noticed this:

powerpc-linux-gnu-gcc -g  -Os   -fPIC -ffixed-r14 -meabi -D__KERNEL__
-DTEXT_BASE=0xFE000000 -I/temp/u-boot.281/include -fno-builtin -ffreestanding
-nostdinc -isystem
/opt/freescale/usr/local/gcc-4.2.72-eglibc-2.5.72-1/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.2.1/include
-pipe  -DCONFIG_PPC -D__powerpc__ -DCONFIG_MPC83XX -DCONFIG_E300 -ffixed-r2
-msoft-float -Wall -Wstrict-prototypes -c -o fsl_i2c.o fsl_i2c.c
fsl_i2c.c: In function 'get_fdr':
fsl_i2c.c:72: warning: 'alias' attribute ignored


Here's the code in question, which is in fsl_i2c.c:

#pragma weak fsl_i2c_speed_map = default_fsl_i2c_speed_map

struct fsl_i2c_speed_map default_fsl_i2c_speed_map[] = {
	{0, 0x3F}, {-1, 0x3F}
};

static u8 get_fdr(unsigned int i2c_clk, unsigned int speed)
{
	extern struct fsl_i2c_speed_map fsl_i2c_speed_map[];
	...


Line 72 is the "extern struct fsl..." line.

In a platform-specific file, I have this:

struct fsl_i2c_speed_map fsl_i2c_speed_map[] = {
	{0, 0x20},
	...

What I'm trying to do is to make it so that you don't need to define the
fsl_i2c_speed_map[] array in your platform file.  However, I get the warning
message if fsl_i2c_speed_map[] *is* defined in the platform file.

Am I just doing this wrong, or is there a way to avoid the compiler warning?

-- 
Timur Tabi
Linux kernel developer at Freescale

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [U-Boot-Users] Help with "warning: 'alias' attribute ignored"
  2008-03-11 21:54 [U-Boot-Users] Help with "warning: 'alias' attribute ignored" Timur Tabi
@ 2008-03-12  6:09 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 2+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2008-03-12  6:09 UTC (permalink / raw)
  To: u-boot

On 16:54 Tue 11 Mar     , Timur Tabi wrote:
> I'm trying to write code that uses the "pragma weak" feature of gcc to define a
> global variable that is used only if it isn't defined somewhere else.  I thought
> I had it working, but then I noticed this:
> 
> powerpc-linux-gnu-gcc -g  -Os   -fPIC -ffixed-r14 -meabi -D__KERNEL__
> -DTEXT_BASE=0xFE000000 -I/temp/u-boot.281/include -fno-builtin -ffreestanding
> -nostdinc -isystem
> /opt/freescale/usr/local/gcc-4.2.72-eglibc-2.5.72-1/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.2.1/include
> -pipe  -DCONFIG_PPC -D__powerpc__ -DCONFIG_MPC83XX -DCONFIG_E300 -ffixed-r2
> -msoft-float -Wall -Wstrict-prototypes -c -o fsl_i2c.o fsl_i2c.c
> fsl_i2c.c: In function 'get_fdr':
> fsl_i2c.c:72: warning: 'alias' attribute ignored
> 
> 
> Here's the code in question, which is in fsl_i2c.c:
> 
replace this
> #pragma weak fsl_i2c_speed_map = default_fsl_i2c_speed_map
> 
> struct fsl_i2c_speed_map default_fsl_i2c_speed_map[] = {
> 	{0, 0x3F}, {-1, 0x3F}
> };

by this

struct fsl_i2c_speed_map fsl_i2c_speed_map[] __attribute__((weak))= {
	{0, 0x3F}, {-1, 0x3F}
};

> static u8 get_fdr(unsigned int i2c_clk, unsigned int speed)
> {
and remove this line
> 	extern struct fsl_i2c_speed_map fsl_i2c_speed_map[];

Best Regards,
J.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-03-12  6:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-11 21:54 [U-Boot-Users] Help with "warning: 'alias' attribute ignored" Timur Tabi
2008-03-12  6:09 ` Jean-Christophe PLAGNIOL-VILLARD

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.