57ffee7555
- Refresh patches with upstream version - Require open-lldp rpm (bnc#864387) OBS-URL: https://build.opensuse.org/request/show/225721 OBS-URL: https://build.opensuse.org/package/show/network:fcoe/fcoe-utils?expand=0&rev=12
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
From 921a055f5ea6b68f16db585e985eb24b4c32be2c Mon Sep 17 00:00:00 2001
|
|
From: Raju Chakraborty <rajuchak@linux.vnet.ibm.com>
|
|
Date: Mon, 18 Nov 2013 14:33:13 +0000
|
|
Subject: fipvlan fails on powerpc
|
|
|
|
fipvlan fails to execute properly on powerpc architecture.
|
|
|
|
# fipvlan -a
|
|
Try 'fipvlan --help' for more information
|
|
#
|
|
|
|
# fipvlan --create --start eth1
|
|
Try 'fipvlan --help' for more information
|
|
#
|
|
|
|
In power pc systems, when there are no more arguments to be parsed, getopt_long
|
|
should return -1. But gdb output shows that it c is 255 whereas in intel system
|
|
it shows -1 properly.
|
|
|
|
"char" must not be trusted when signing is important! Different arches (and even
|
|
different gcc versions on the same arch) may default char to signed or unsigned.
|
|
|
|
Ideally, a portable program should always use signed char or unsigned char when
|
|
it depends on the signedness of an object. But many programs have been written
|
|
to use plain char and expect it to be signed, or expect it to be unsigned,
|
|
depending on the machines they were written for. In this case the variable c
|
|
is expected to behave as signed and hence using signed would be the safe option.
|
|
|
|
http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/C-Dialect-Options.html
|
|
|
|
Signed-off-by: Raju Chakraborty<rajuchak@linux.vnet.ibm.com>
|
|
Signed-off-by: Robert Love <robert.w.love@intel.com>
|
|
---
|
|
fipvlan.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/fipvlan.c b/fipvlan.c
|
|
index 6f8cf39..e51358f 100644
|
|
--- a/fipvlan.c
|
|
+++ b/fipvlan.c
|
|
@@ -471,7 +471,7 @@ static void help(int status)
|
|
|
|
static void parse_cmdline(int argc, char **argv)
|
|
{
|
|
- char c;
|
|
+ signed char c;
|
|
|
|
while (1) {
|
|
c = getopt_long(argc, argv, GETOPT_STR, long_options, NULL);
|
|
--
|
|
1.8.1.4
|
|
|