Skip to contentSkip to conversation

Disable o32 ABI for MIPS64 architectures

PATCH Superseded Vicente Olivert Riera 6 participants 13 messages Mar 26, 2014 – Mar 28, 2014

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Building o32 ELF files for MIPS64 is an exotic configuration that nobody should be using. If o32 is required, then is better if it's built for MIPS 32-bit cores so only 32-bit instructions will be used leading to a more efficient o32 usage.

---
 CHANGES             |    8 ++++++++
 arch/Config.in.mips |   12 +++++++-----
 2 files changed, 15 insertions(+), 5 deletions(-)
CHANGES +8 -0
index 45a31c4..f07ccfd 100644
@@ -1,3 +1,11 @@
+2014.05, Not yet released:
+
+Support for MIPS o32 ABI on MIPS-64 targets has been removed. Building 
+o32 ELF files for MIPS64 is an exotic configuration that nobody should 
+be using. If o32 is required, then is better if it's built for MIPS 
+32-bit cores so only 32-bit instructions will be used leading to a more 
+efficient o32 usage.
+
 2014.02, Released February 27th, 2014
 
 	Minor fixes.
arch/Config.in.mips +7 -5
index d9c0c02..f558705 100644
@@ -38,15 +38,12 @@ endchoice
 
 choice
 	prompt "Target ABI"
-	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
-	default BR2_MIPS_OABI32 if !BR2_ARCH_IS_64
-	default BR2_MIPS_NABI32 if BR2_ARCH_IS_64
+	depends on BR2_mips64 || BR2_mips64el
+	default BR2_MIPS_NABI32
 
 	help
 	  Application Binary Interface to use
 
-config BR2_MIPS_OABI32
-	bool "o32"
 config BR2_MIPS_NABI32
 	bool "n32"
 	depends on BR2_ARCH_IS_64
@@ -86,6 +83,11 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 
+config BR2_MIPS_OABI32
+	bool
+	default y		if BR2_mips || BR2_mipsel
+	default n		if BR2_mips64 || BR2_mips64el
+
 config BR2_GCC_TARGET_ABI
 	default "32"		if BR2_MIPS_OABI32
 	default "n32"		if BR2_MIPS_NABI32
Signature · 1 line
1.7.1
#1 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 50 lines · Vicente Olivert Riera

Building o32 ELF files for MIPS64 is an exotic configuration that nobody should be using. If o32 is required, then is better if it's built for MIPS 32-bit cores so only 32-bit instructions will be used leading to a more efficient o32 usage.

---
 CHANGES             |    8 ++++++++
 arch/Config.in.mips |   12 +++++++-----
 2 files changed, 15 insertions(+), 5 deletions(-)
CHANGES +8 -0
index 45a31c4..f07ccfd 100644
@@ -1,3 +1,11 @@
+2014.05, Not yet released:
+
+Support for MIPS o32 ABI on MIPS-64 targets has been removed. Building 
+o32 ELF files for MIPS64 is an exotic configuration that nobody should 
+be using. If o32 is required, then is better if it's built for MIPS 
+32-bit cores so only 32-bit instructions will be used leading to a more 
+efficient o32 usage.
+
 2014.02, Released February 27th, 2014
 
 	Minor fixes.
arch/Config.in.mips +2 -5
index d9c0c02..f558705 100644
@@ -38,15 +38,12 @@ endchoice
 
 choice
 	prompt "Target ABI"
-	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
-	default BR2_MIPS_OABI32 if !BR2_ARCH_IS_64
-	default BR2_MIPS_NABI32 if BR2_ARCH_IS_64
+	depends on BR2_mips64 || BR2_mips64el
+	default BR2_MIPS_NABI32
 
 	help
 	  Application Binary Interface to use
 
-config BR2_MIPS_OABI32
-	bool "o32"
 config BR2_MIPS_NABI32
 	bool "n32"
 	depends on BR2_ARCH_IS_64

arch/Config.in.mips config BR2_GCC_TARGET_ARCH · line 89

Quoted 7 lines
arch/Config.in.mips +4 -0
@@ -86,6 +83,11 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 
+config BR2_MIPS_OABI32
+	bool
+	default y		if BR2_mips || BR2_mipsel
+	default n		if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it? In the
latter case, please add an explanatory comment.

Regards,
Arnout

Quoted 5 lines
arch/Config.in.mips +1 -0
+
 config BR2_GCC_TARGET_ABI
 	default "32"		if BR2_MIPS_OABI32
 	default "n32"		if BR2_MIPS_NABI32
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 54 lines · Arnout Vandecappelle
Quoted 53 lines · Vicente Olivert Riera

Building o32 ELF files for MIPS64 is an exotic configuration that nobody should be using. If o32 is required, then is better if it's built for MIPS 32-bit cores so only 32-bit instructions will be used leading to a more efficient o32 usage.

---
  CHANGES             |    8 ++++++++
  arch/Config.in.mips |   12 +++++++-----
  2 files changed, 15 insertions(+), 5 deletions(-)
CHANGES +8 -0
index 45a31c4..f07ccfd 100644
@@ -1,3 +1,11 @@
+2014.05, Not yet released:
+
+Support for MIPS o32 ABI on MIPS-64 targets has been removed. Building
+o32 ELF files for MIPS64 is an exotic configuration that nobody should
+be using. If o32 is required, then is better if it's built for MIPS
+32-bit cores so only 32-bit instructions will be used leading to a more
+efficient o32 usage.
+
  2014.02, Released February 27th, 2014
 
  	Minor fixes.
arch/Config.in.mips +2 -5
index d9c0c02..f558705 100644
@@ -38,15 +38,12 @@ endchoice
 
  choice
  	prompt "Target ABI"
-	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
-	default BR2_MIPS_OABI32 if !BR2_ARCH_IS_64
-	default BR2_MIPS_NABI32 if BR2_ARCH_IS_64
+	depends on BR2_mips64 || BR2_mips64el
+	default BR2_MIPS_NABI32
 
  	help
  	  Application Binary Interface to use
 
-config BR2_MIPS_OABI32
-	bool "o32"
  config BR2_MIPS_NABI32
  	bool "n32"
  	depends on BR2_ARCH_IS_64
@@ -86,6 +83,11 @@ config BR2_GCC_TARGET_ARCH
  	default "mips64"	if BR2_mips_64
  	default "mips64r2"	if BR2_mips_64r2
 
Quoted 7 lines

arch/Config.in.mips config BR2_GCC_TARGET_ARCH · line 89

Quoted 4 lines
arch/Config.in.mips +4 -0
+config BR2_MIPS_OABI32
+	bool
+	default y		if BR2_mips || BR2_mipsel
+	default n		if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it? In the
latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is used by glibc and uclibc packages.

Quoted 7 lines

Regards,
Arnout

Quoted 4 lines
arch/Config.in.mips +1 -0
+
  config BR2_GCC_TARGET_ABI
  	default "32"		if BR2_MIPS_OABI32
  	default "n32"		if BR2_MIPS_NABI32
Signature · 1 line
Vincent
#3 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 10 lines
Quoted 7 lines

arch/Config.in.mips config BR2_GCC_TARGET_ARCH · line 89

Quoted 4 lines
arch/Config.in.mips +4 -0
+config BR2_MIPS_OABI32
+	bool
+	default y		if BR2_mips || BR2_mipsel
+	default n		if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it? In the latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is used by glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 12 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 7 lines
Quoted 7 lines

arch/Config.in.mips config BR2_GCC_TARGET_ARCH · line 89

Quoted 4 lines
arch/Config.in.mips +4 -0
+config BR2_MIPS_OABI32
+	bool
+	default y		if BR2_mips || BR2_mipsel
+	default n		if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it? In the latter case, please add an explanatory comment.

Quoted 6 lines
Quoted 2 lines

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is used by glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

I have maintained that line because if you remove it and then select any MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the .config file.

Isn't that a problem?

Signature · 1 line
Vincent
#5 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 20 lines · Vicente Olivert Riera
Quoted 9 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 5 lines
Quoted 5 lines
Quoted 4 lines
arch/Config.in.mips +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines

Did you forget to remove this or is there a reason to keep it? In the latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is used by glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 5 lines

I have maintained that line because if you remove it and then select any MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the .config file.

Isn't that a problem?

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the same as it being there as a comment, which will get stripped out/ignored by the build system. Kconfig/Kbuild (whatever it is called) only cares if the symbol is defined to "y". I believe that is then checked for in Makefiles and is in a generated config.h file for use as a C #define.

That's how it works in the Linux kernel at least...

Signature · 9 lines
Joshua Kinard
Gentoo/MIPS
kumba at gentoo.org
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us.  And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
#6 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 27 lines · Joshua Kinard
Quoted 20 lines · Vicente Olivert Riera
Quoted 9 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 5 lines
Quoted 5 lines
Quoted 4 lines
arch/Config.in.mips +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines

Did you forget to remove this or is there a reason to keep it? In the latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is used by glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 5 lines

I have maintained that line because if you remove it and then select any MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the .config file.

Isn't that a problem?

Quoted 8 lines

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the same as it being there as a comment, which will get stripped out/ignored by the build system. Kconfig/Kbuild (whatever it is called) only cares if the symbol is defined to "y". I believe that is then checked for in Makefiles and is in a generated config.h file for use as a C #define.

That's how it works in the Linux kernel at least...

If you remove the "default 'n'" line, and you select a MIPS64 target, then "BR2_MIPS_OABI32=y" is completely missing in the .config file.

Signature · 1 line
Vincent
#7 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 41 lines · Vicente Olivert Riera
Quoted 40 lines · Joshua Kinard
Quoted 23 lines · Vicente Olivert Riera
Quoted 12 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 6 lines
Quoted 6 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it?

In the

Quoted 9 lines
Quoted 3 lines
Quoted 1 line

latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is

used by

Quoted 1 line

glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 5 lines

I have maintained that line because if you remove it and then select any MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the .config file.

Isn't that a problem?

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the same as it being there as a comment, which will get stripped out/ignored by
the build system. Kconfig/Kbuild (whatever it is called) only cares if the
symbol is defined to "y". I believe that is then checked for in Makefiles
and is in a generated config.h file for use as a C #define.

Quoted 6 lines
Quoted 1 line

That's how it works in the Linux kernel at least...

If you remove the "default 'n'" line, and you select a MIPS64 target, then "BR2_MIPS_OABI32=y" is completely missing in the .config file.

That's not a problem is it? It's ok if the line is missing. A missing line means "this option is not available". A line starting with "#" means "the option is available but currently disabled"

Signature · 1 line
markos
#8 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 46 lines · Markos Chandras
Quoted 45 lines · Vicente Olivert Riera
Quoted 43 lines · Joshua Kinard
Quoted 23 lines · Vicente Olivert Riera
Quoted 12 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 6 lines
Quoted 6 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it?

In the

Quoted 9 lines
Quoted 3 lines
Quoted 1 line

latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is

used by

Quoted 1 line

glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 6 lines

I have maintained that line because if you remove it and then select any
MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the .config file.

Isn't that a problem?

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the
same as it being there as a comment, which will get stripped out/ignored by
the build system. Kconfig/Kbuild (whatever it is called) only cares if the
symbol is defined to "y". I believe that is then checked for in Makefiles
and is in a generated config.h file for use as a C #define.

That's how it works in the Linux kernel at least...

Quoted 8 lines
Quoted 4 lines

If you remove the "default 'n'" line, and you select a MIPS64 target, then "BR2_MIPS_OABI32=y" is completely missing in the .config file.

That's not a problem is it? It's ok if the line is missing. A missing line means "this option is not available". A line starting with "#" means "the option is available but currently disabled"

I want to be sure about that, because there are packages which use the BR2_MIPS_OABI32 symbol. So, maybe having that line starting with "#" means BR2_MIPS_OABI32=n, and everything works fine, and don't having that line at all means that symbol is not defined and the packages which use that symbol fail because of that. That's what I want to know.

Signature · 1 line
Vincent
#9 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 57 lines · Vicente Olivert Riera
Quoted 47 lines · Markos Chandras
Quoted 46 lines · Vicente Olivert Riera
Quoted 44 lines · Joshua Kinard
Quoted 23 lines · Vicente Olivert Riera
Quoted 12 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 6 lines
Quoted 6 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it?

In the

Quoted 9 lines
Quoted 3 lines
Quoted 1 line

latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is

used by

Quoted 1 line

glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 7 lines

I have maintained that line because if you remove it and then select any
MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the
.config file.

Isn't that a problem?

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the
same as it being there as a comment, which will get stripped out/ignored by
the build system. Kconfig/Kbuild (whatever it is called) only cares if the
symbol is defined to "y". I believe that is then checked for in Makefiles
and is in a generated config.h file for use as a C #define.

That's how it works in the Linux kernel at least...

Quoted 8 lines
Quoted 4 lines

If you remove the "default 'n'" line, and you select a MIPS64 target, then "BR2_MIPS_OABI32=y" is completely missing in the .config file.

That's not a problem is it? It's ok if the line is missing. A missing line means "this option is not available". A line starting with "#" means "the option is available but currently disabled"

Quoted 6 lines

I want to be sure about that, because there are packages which use the BR2_MIPS_OABI32 symbol. So, maybe having that line starting with "#" means BR2_MIPS_OABI32=n, and everything works fine, and don't having that line at all means that symbol is not defined and the packages which use that symbol fail because of that. That's what I want to know.

I think not having that line, or having that line but prefixed with "#" is the same thing as far as the Kconfig dependencies are concerned. (pretty much what Joshua said already)

Signature · 1 line
markos
#10 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 65 lines · Markos Chandras
Quoted 57 lines · Vicente Olivert Riera
Quoted 47 lines · Markos Chandras
Quoted 46 lines · Vicente Olivert Riera
Quoted 44 lines · Joshua Kinard
Quoted 23 lines · Vicente Olivert Riera
Quoted 12 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 6 lines
Quoted 6 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it?

In the

Quoted 9 lines
Quoted 3 lines
Quoted 1 line

latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is

used by

Quoted 1 line

glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 7 lines

I have maintained that line because if you remove it and then select any
MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the
.config file.

Isn't that a problem?

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the
same as it being there as a comment, which will get stripped out/ignored by
the build system. Kconfig/Kbuild (whatever it is called) only cares if the
symbol is defined to "y". I believe that is then checked for in Makefiles
and is in a generated config.h file for use as a C #define.

That's how it works in the Linux kernel at least...

Quoted 8 lines
Quoted 4 lines

If you remove the "default 'n'" line, and you select a MIPS64 target, then "BR2_MIPS_OABI32=y" is completely missing in the .config file.

That's not a problem is it? It's ok if the line is missing. A missing line means "this option is not available". A line starting with "#" means "the option is available but currently disabled"

Quoted 6 lines

I want to be sure about that, because there are packages which use the BR2_MIPS_OABI32 symbol. So, maybe having that line starting with "#" means BR2_MIPS_OABI32=n, and everything works fine, and don't having that line at all means that symbol is not defined and the packages which use that symbol fail because of that. That's what I want to know.

Quoted 3 lines

I think not having that line, or having that line but prefixed with "#" is the same thing as far as the Kconfig dependencies are concerned. (pretty much what Joshua said already)

Yup, it's just a comment and for human consumption only. It's just a way of telling you, when you read the config file, that the option is disabled.

Signature · 9 lines
Joshua Kinard
Gentoo/MIPS
kumba at gentoo.org
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us.  And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
#11 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

Quoted 66 lines · Joshua Kinard
Quoted 65 lines · Markos Chandras
Quoted 63 lines · Vicente Olivert Riera
Quoted 47 lines · Markos Chandras
Quoted 46 lines · Vicente Olivert Riera
Quoted 44 lines · Joshua Kinard
Quoted 23 lines · Vicente Olivert Riera
Quoted 12 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Vicente" == Vicente Olivert Riera <[email protected]>
writes:

Hi,

Quoted 6 lines
Quoted 6 lines

Review

Quoted 4 lines
(quoted diff) +4 -0
+config BR2_MIPS_OABI32
+    bool
+    default y        if BR2_mips || BR2_mipsel
+    default n        if BR2_mips64 || BR2_mips64el

Did you forget to remove this or is there a reason to keep it?

In the

Quoted 9 lines
Quoted 3 lines
Quoted 1 line

latter case, please add an explanatory comment.

Why would I want to remove this? The BR2_MIPS_OABI32 symbol is

used by

Quoted 1 line

glibc and uclibc packages.

Arnout is just asking about the 'default n' line. Symbols are 'n' by default, so the line doesn't do anything as far as I can see.

Quoted 7 lines

I have maintained that line because if you remove it and then select any
MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the
.config file.

Isn't that a problem?

Is the definition of BR2_MIPS_OABI32 missing completely, or do you see "BR2_MIPS_OABI32=y"? If it's missing completely, then it's virtually the
same as it being there as a comment, which will get stripped out/ignored by
the build system. Kconfig/Kbuild (whatever it is called) only cares if the
symbol is defined to "y". I believe that is then checked for in Makefiles
and is in a generated config.h file for use as a C #define.

That's how it works in the Linux kernel at least...

Quoted 8 lines
Quoted 4 lines

If you remove the "default 'n'" line, and you select a MIPS64 target, then "BR2_MIPS_OABI32=y" is completely missing in the .config file.

That's not a problem is it? It's ok if the line is missing. A missing line means "this option is not available". A line starting with "#" means "the option is available but currently disabled"

I want to be sure about that, because there are packages which use the BR2_MIPS_OABI32 symbol. So, maybe having that line starting with "#" means BR2_MIPS_OABI32=n, and everything works fine, and don't having that line at all means that symbol is not defined and the packages which use that symbol fail because of that. That's what I want to know.

Quoted 7 lines
Quoted 3 lines

I think not having that line, or having that line but prefixed with "#" is the same thing as far as the Kconfig dependencies are concerned. (pretty much what Joshua said already)

Yup, it's just a comment and for human consumption only. It's just a way of telling you, when you read the config file, that the option is disabled.

V4 sent: http://patchwork.ozlabs.org/patch/334661/

Signature · 1 line
Vincent
#12 lore raw

PATCH v3 1/1 Disable o32 ABI for MIPS64 architectures

In reply to Vicente Olivert Riera

Dear Vicente Olivert Riera,

Quoted 10 lines · Vicente Olivert Riera
Quoted 3 lines

That's not a problem is it? It's ok if the line is missing. A missing line means "this option is not available". A line starting with "#" means "the option is available but currently disabled"

I want to be sure about that, because there are packages which use the BR2_MIPS_OABI32 symbol. So, maybe having that line starting with "#" means BR2_MIPS_OABI32=n, and everything works fine, and don't having that line at all means that symbol is not defined and the packages which use that symbol fail because of that. That's what I want to know.

BR2_FOO=n never exists. An option is either BR2_FOO=y, or undefined. And since # indicates comments in .config files, a # BR2_FOO is not set line is the same as not having BR2_FOO mentioned at all in the .config.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com