* another gcc-4.2 compile problem on alpha: gameport
@ 2007-09-30 8:42 Meelis Roos
2007-09-30 9:53 ` Sam Ravnborg
0 siblings, 1 reply; 2+ messages in thread
From: Meelis Roos @ 2007-09-30 8:42 UTC (permalink / raw)
To: Linux Kernel list, sam
After I applied the psmouse-base section fix (thanks!), I wuickly ran
into another compile problem with gcc-4.2 on alpha:
CC [M] drivers/input/gameport/gameport.o
drivers/input/gameport/gameport.c:42: error: __ksymtab_gameport_set_name causes a section type conflict
drivers/input/gameport/gameport.c:41: error: __ksymtab_gameport_cooked_read causes a section type conflict
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: another gcc-4.2 compile problem on alpha: gameport
2007-09-30 8:42 another gcc-4.2 compile problem on alpha: gameport Meelis Roos
@ 2007-09-30 9:53 ` Sam Ravnborg
0 siblings, 0 replies; 2+ messages in thread
From: Sam Ravnborg @ 2007-09-30 9:53 UTC (permalink / raw)
To: Meelis Roos; +Cc: Linux Kernel list, rth
On Sun, Sep 30, 2007 at 11:42:20AM +0300, Meelis Roos wrote:
> After I applied the psmouse-base section fix (thanks!), I wuickly ran
> into another compile problem with gcc-4.2 on alpha:
>
> CC [M] drivers/input/gameport/gameport.o
> drivers/input/gameport/gameport.c:42: error: __ksymtab_gameport_set_name causes a section type conflict
> drivers/input/gameport/gameport.c:41: error: __ksymtab_gameport_cooked_read causes a section type conflict
>
Maybe it's the same as:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31490
I have narrowed it down to the following code snippet. But now the complain are for a different parameter.
But do not have time to persuade it further.
Do you have time to simplify the code snippet and persuade the gcc people?
PS. cc: rth as he are in both camps.
Sam
The following code result in:
alpha.c:45: error: __param_resolution causes a section type conflict
With gcc:
alpha-unknown-linux-gnu-gcc (GCC) 4.2.1
It was build using Dan Kegel's crosstool so I dunno about the exact configure options used.
gcc (GCC) 4.1.2 20070502 (Red Hat 4.1.2-12) on x86_64 does not issue this error on the same code snippet.
sam-gcc (GCC) 4.2.1 on x86_64 does neither issue same error.
sam-gcc I did built myself with:
configure --prefix=/home/sam/usr/local --program-prefix=sam- --target=alpha-linux
struct kernel_param;
typedef int (*param_set_fn)(const char *val, struct kernel_param *kp);
typedef int (*param_get_fn)(char *buffer, struct kernel_param *kp);
struct kernel_param {
const char *name;
unsigned int perm;
param_set_fn set;
param_get_fn get;
void *arg;
};
extern int param_set_uint(const char *val, struct kernel_param *kp);
extern int param_get_uint(char *buffer, struct kernel_param *kp);
static const char __mod_author35[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "author" "=" "Vojtech Pavlik <vojtech@suse.cz>";
static const char __mod_description36[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "description" "=" "PS/2 mouse driver";
static const char __mod_license37[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "license" "=" "GPL";
static unsigned int psmouse_max_proto = 1;
static int psmouse_set_maxproto(const char *val, struct kernel_param *kp) {};
static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) {};
static inline unsigned int *__check_proto(void) { return(&(psmouse_max_proto)); };
static int __param_perm_check_proto __attribute__((unused)) = (sizeof(char[1 - 2 * !!((0644) < 0 || (0644) > 0777 || ((0644) & 2))]) - 1);
static char __param_str_proto[] = "proto";
static struct kernel_param const __param_proto __attribute__((__used__)) __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) =
{ __param_str_proto, 0644, psmouse_set_maxproto, psmouse_get_maxproto, &psmouse_max_proto };
static const char __mod_prototype45[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "parmtype" "=" "proto" ":" "proto_abbrev";
static const char __mod_proto46[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "parm" "=" "proto" ":" "Highest protocol extension to probe (bare, imps, exps, any). Useful for KVM switches.";
static unsigned int psmouse_resolution = 200;
static inline unsigned int *__check_resolution(void) { return(&(psmouse_resolution)); };
static int __param_perm_check_resolution __attribute__((unused)) = (sizeof(char[1 - 2 * !!((0644) < 0 || (0644) > 0777 || ((0644) & 2))]) - 1);
static char __param_str_resolution[] = "resolution";
static struct kernel_param const __param_resolution __attribute__((__used__)) __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) =
{ __param_str_resolution, 0644, param_set_uint, param_get_uint, &psmouse_resolution };
static const char __mod_resolutiontype49[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "parmtype" "=" "resolution" ":" "uint";
static const char __mod_resolution50[] __attribute__((__used__)) __attribute__((section(".modinfo"),unused)) = "parm" "=" "resolution" ":" "Resolution, in dpi.";
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-09-30 9:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-30 8:42 another gcc-4.2 compile problem on alpha: gameport Meelis Roos
2007-09-30 9:53 ` Sam Ravnborg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®