Skip to contentSkip to conversation

arch/score/include/uapi/asm/ptrace.h: Add prefix 'SCORE_' for related macros

PATCH Superseded Chen Gang 4 participants 19 messages Jun 22, 2014 – Jun 30, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Chen Gang

author
#0 lore raw

PATCH 1/1 arch/score/include/uapi/asm/ptrace.h: Add prefix 'SCORE_' for related macros

'COUNTER' and other same kind macros are too common to use, and easy to get conflict with other modules. So add prefix for them.

The related warning (allmodconfig with score):

CC [M] drivers/md/raid1.o
In file included from drivers/md/raid1.c:42:0:
drivers/md/bitmap.h:93:0: warning: "COUNTER" redefined
#define COUNTER(x) (((bitmap_counter_t) x) & COUNTER_MAX) ^
In file included from ./arch/score/include/asm/ptrace.h:4:0,

                   from include/linux/sched.h:31,
                   from include/linux/blkdev.h:4,
                   from drivers/md/raid1.c:36:

./arch/score/include/uapi/asm/ptrace.h:13:0: note: this is the location of the previous definition
#define COUNTER 38

---
 arch/score/include/uapi/asm/ptrace.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
arch/score/include/uapi/asm/ptrace.h +10 -10
index f59771a..7a0ead9 100644
@@ -4,16 +4,16 @@
 #define PTRACE_GETREGS		12
 #define PTRACE_SETREGS		13
 
-#define PC		32
-#define CONDITION	33
-#define ECR		34
-#define EMA		35
-#define CEH		36
-#define CEL		37
-#define COUNTER		38
-#define LDCR		39
-#define STCR		40
-#define PSR		41
+#define SCORE_PC		32
+#define SCORE_CONDITION		33
+#define SCORE_ECR		34
+#define SCORE_EMA		35
+#define SCORE_CEH		36
+#define SOCRE_CEL		37
+#define SCORE_COUNTER		38
+#define SCORE_LDCR		39
+#define SCORE_STCR		40
+#define SCORE_PSR		41
 
 #define SINGLESTEP16_INSN	0x7006
 #define SINGLESTEP32_INSN	0x840C8000
Signature · 1 line
1.9.2.459.g68773ac
#1 lore raw
Quoted 18 lines · Chen Gang

'COUNTER' and other same kind macros are too common to use, and easy to get conflict with other modules. So add prefix for them.

The related warning (allmodconfig with score):

CC [M] drivers/md/raid1.o
In file included from drivers/md/raid1.c:42:0:

   drivers/md/bitmap.h:93:0: warning: "COUNTER" redefined
    #define COUNTER(x) (((bitmap_counter_t) x) & COUNTER_MAX)
    ^
   In file included from ./arch/score/include/asm/ptrace.h:4:0,
                    from include/linux/sched.h:31,
                    from include/linux/blkdev.h:4,
                    from drivers/md/raid1.c:36:
   ./arch/score/include/uapi/asm/ptrace.h:13:0: note: this is the location of the previous definition
    #define COUNTER  38
Quoted 1 line

Any idea where to find a cross-compile toolchain for this architecture ?

Thanks,
Guenter

author
#2 lore raw
Quoted 20 lines · Guenter Roeck
Quoted 19 lines · Chen Gang

'COUNTER' and other same kind macros are too common to use, and easy to get conflict with other modules. So add prefix for them.

The related warning (allmodconfig with score):

CC [M] drivers/md/raid1.o
In file included from drivers/md/raid1.c:42:0:
drivers/md/bitmap.h:93:0: warning: "COUNTER" redefined

    #define COUNTER(x) (((bitmap_counter_t) x) & COUNTER_MAX)
    ^
   In file included from ./arch/score/include/asm/ptrace.h:4:0,
                    from include/linux/sched.h:31,
                    from include/linux/blkdev.h:4,
                    from drivers/md/raid1.c:36:
   ./arch/score/include/uapi/asm/ptrace.h:13:0: note: this is the
location of the previous definition
    #define COUNTER  38
Quoted 4 lines
Quoted 1 line

Any idea where to find a cross-compile toolchain for this architecture ?

I use latest source code of gcc and binutils with git.

related source code:

    git://sourceware.org/git/binutils-gdb.git
    git://gcc.gnu.org/git/gcc.git

Issues:

For binutils, have to use the latest one (I have fixed one segment fault issue of gas for score, and integrated into gas main line by maintainer in Jun 13, 2014).

For gcc (after binutils has installed), when building glibc, may need modify the absolute path for score-elf-gas, score-elf-ld ... in related auto-generated file.

Under ubuntu (but under fedora, it is OK), may need export LD_LIBRARY_PATH=/usr/local/lib for searching libmpfr.so.

My current binary informations:

  root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-ld -v
  GNU ld (GNU Binutils) 2.24.51.20140609
  root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-as -v
  GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140609
  root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-gcc -v
  Using built-in specs.
  COLLECT_GCC=/usr/local/bin/score-elf-gcc
  COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/score-elf/4.10.0/lto-wrapper
  Target: score-elf
  Configured with: ../gcc/configure --without-header --disable-nls --enable-language=c --disable-threads --disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes --target=score-elf --enable-obsolete
  Thread model: single
  gcc version 4.10.0 20140530 (experimental) (GCC) 

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
#11 lore raw
In reply to Chen Gang

Hi Chen,
Do you find other modules except device modules cause issues of compiling? The applications of Score are limited. Acutally, some errors never occur in the limited applications, for example, the conbination consists of Score and the timer of SuperH. I'm not sure we should handle this kind of error.
If the rule is that we should make sure "all" modules can be compiled with Score, we will do it.
However, we still thanks for your check.

Best,
Lennox

2014-06-22 12:48 GMT+08:00 Chen Gang <[email protected]>:

Quoted 56 lines

'COUNTER' and other same kind macros are too common to use, and easy to get conflict with other modules. So add prefix for them.

The related warning (allmodconfig with score):

CC [M] drivers/md/raid1.o
In file included from drivers/md/raid1.c:42:0:
drivers/md/bitmap.h:93:0: warning: "COUNTER" redefined

   #define COUNTER(x) (((bitmap_counter_t) x) & COUNTER_MAX)
   ^
  In file included from ./arch/score/include/asm/ptrace.h:4:0,
                   from include/linux/sched.h:31,
                   from include/linux/blkdev.h:4,
                   from drivers/md/raid1.c:36:

./arch/score/include/uapi/asm/ptrace.h:13:0: note: this is the location of the previous definition
#define COUNTER 38

---
 arch/score/include/uapi/asm/ptrace.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
arch/score/include/uapi/asm/ptrace.h +10 -11
index f59771a..7a0ead9 100644
@@ -4,16 +4,16 @@
 #define PTRACE_GETREGS         12
 #define PTRACE_SETREGS         13
 
-#define PC             32
-#define CONDITION      33
-#define ECR            34
-#define EMA            35
-#define CEH            36
-#define CEL            37
-#define COUNTER                38
-#define LDCR           39
-#define STCR           40
-#define PSR            41
+#define SCORE_PC               32
+#define SCORE_CONDITION                33
+#define SCORE_ECR              34
+#define SCORE_EMA              35
+#define SCORE_CEH              36
+#define SOCRE_CEL              37
+#define SCORE_COUNTER          38
+#define SCORE_LDCR             39
+#define SCORE_STCR             40
+#define SCORE_PSR              41
 
 #define SINGLESTEP16_INSN      0x7006
 #define SINGLESTEP32_INSN      0x840C8000
--

1.9.2.459.g68773ac

#3 lore raw
In reply to Chen Gang

On 06/21/2014 10:33 PM, Chen Gang wrote:

[ ... ]

Quoted 25 lines
Quoted 2 lines

Any idea where to find a cross-compile toolchain for this architecture ?

I use latest source code of gcc and binutils with git.

related source code:

     git://sourceware.org/git/binutils-gdb.git
     git://gcc.gnu.org/git/gcc.git

Issues:

For binutils, have to use the latest one (I have fixed one segment fault issue of gas for score, and integrated into gas main line by maintainer in Jun 13, 2014).

For gcc (after binutils has installed), when building glibc, may need modify the absolute path for score-elf-gas, score-elf-ld ... in related auto-generated file.

Under ubuntu (but under fedora, it is OK), may need export LD_LIBRARY_PATH=/usr/local/lib for searching libmpfr.so.

My current binary informations:

Quoted 13 lines
   root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-ld -v
   GNU ld (GNU Binutils) 2.24.51.20140609
   root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-as -v
   GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140609
   root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-gcc -v
   Using built-in specs.
   COLLECT_GCC=/usr/local/bin/score-elf-gcc
   COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/score-elf/4.10.0/lto-wrapper
   Target: score-elf
   Configured with: ../gcc/configure --without-header --disable-nls --enable-language=c --disable-threads --disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes --target=score-elf --enable-obsolete
   Thread model: single
   gcc version 4.10.0 20140530 (experimental) (GCC)

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1 when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1) 0x40c073 execute

	../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41. Your assembler fix is included in this version of binutils.

Thanks,
Guenter

#4 lore raw
Quoted 67 lines · Guenter Roeck

On 06/21/2014 10:33 PM, Chen Gang wrote:

[ ... ]

Quoted 25 lines
Quoted 2 lines

Any idea where to find a cross-compile toolchain for this architecture ?

I use latest source code of gcc and binutils with git.

related source code:

     git://sourceware.org/git/binutils-gdb.git
     git://gcc.gnu.org/git/gcc.git

Issues:

For binutils, have to use the latest one (I have fixed one segment fault issue of gas for score, and integrated into gas main line by maintainer in Jun 13, 2014).

For gcc (after binutils has installed), when building glibc, may need modify the absolute path for score-elf-gas, score-elf-ld ... in related auto-generated file.

Under ubuntu (but under fedora, it is OK), may need export LD_LIBRARY_PATH=/usr/local/lib for searching libmpfr.so.

My current binary informations:

Quoted 13 lines
   root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-ld -v
   GNU ld (GNU Binutils) 2.24.51.20140609
   root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-as -v
   GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140609
   root@gchen:/upstream/toolchain/binutils-gdb# /usr/local/bin/score-elf-gcc -v
   Using built-in specs.
   COLLECT_GCC=/usr/local/bin/score-elf-gcc
   COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/score-elf/4.10.0/lto-wrapper
   Target: score-elf
   Configured with: ../gcc/configure --without-header --disable-nls --enable-language=c --disable-threads --disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes --target=score-elf --enable-obsolete
   Thread model: single
   gcc version 4.10.0 20140530 (experimental) (GCC)

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1 when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1) 0x40c073 execute

     ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Quoted 8 lines

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41. Your assembler fix is included in this version of binutils.

Never mind, turns out I get score:defconfig to compile when using the tip of the gcc 4.9 branch.

Guenter

#12 lore raw
In reply to Lennox Wu
Quoted 10 lines · Lennox Wu

Hi Chen,
Do you find other modules except device modules cause issues of compiling? The applications of Score are limited. Acutally, some errors never occur in the limited applications, for example, the conbination consists of Score and the timer of SuperH. I'm not sure we should handle this kind of error.
If the rule is that we should make sure "all" modules can be compiled with Score, we will do it.
However, we still thanks for your check.

Other architectures don't care about buildability of allmodconfig or allyesconfig (arm is a good [or maybe bad] example), so it is for sure not mandatory. On the other side, fixing such problems - especially when you have someone doing it for you - may prevent problems down the road, so while not mandatory I consider it a useful goal to achieve.

If there is a driver which doesn't make sense to build at all, such as the SuperH timer driver mentioned above, it can always be excluded from building with Kconfig. If that causes opposition for some reason, you can still ignore that it fails to build.

Guenter

author
#5 lore raw
In reply to Guenter Roeck
Quoted 40 lines · Guenter Roeck
Quoted 34 lines · Guenter Roeck

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1
when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1) 0x40c073 execute

     ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Quoted 4 lines

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41.
Your assembler fix is included in this version of binutils.

Quoted 5 lines

Never mind, turns out I get score:defconfig to compile when using the tip of the gcc 4.9 branch.

Guenter

OK, I shall try defconfig for it (originally, I try allmodconfig, not find this issue), and try to solve it, hope (although I am not quite sure), I can finish within this month (2014-06-30).

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
author
#13 lore raw
In reply to Guenter Roeck
Quoted 21 lines · Guenter Roeck
Quoted 11 lines · Lennox Wu

Hi Chen,
Do you find other modules except device modules cause issues of compiling?
The applications of Score are limited. Acutally, some errors never occur in the limited applications, for example, the conbination consists of Score and the timer of SuperH. I'm not sure we should handle this kind of error.
If the rule is that we should make sure "all" modules can be compiled with Score, we will do it.
However, we still thanks for your check.

Other architectures don't care about buildability of allmodconfig or allyesconfig
(arm is a good [or maybe bad] example), so it is for sure not mandatory. On the other side, fixing such problems - especially when you have someone doing it for you - may prevent problems down the road, so while not mandatory
I consider it a useful goal to achieve.

Quoted 8 lines

If there is a driver which doesn't make sense to build at all, such as the SuperH
timer driver mentioned above, it can always be excluded from building with Kconfig.
If that causes opposition for some reason, you can still ignore that it fails
to build.

Yeah, what Guenter said is fine to me.

Although allmodconfig is not mandatory, it is still a useful goal to achieve.

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
#15 lore raw
In reply to Guenter Roeck

Yes, it's the reason we still thank Chen's checking.
Arbitrary configurations except the default configure are not guaranteed to pass compiling.
To discover combinations which doesn't make sense might weast Chen's time.

Best,
Lennox

2014-06-23 0:28 GMT+08:00 Guenter Roeck <[email protected]>:

Quoted 31 lines · Lennox Wu
Quoted 11 lines

Hi Chen,
Do you find other modules except device modules cause issues of compiling? The applications of Score are limited. Acutally, some errors never occur in the limited applications, for example, the conbination consists of Score and the timer of SuperH. I'm not sure we should handle this kind of error.
If the rule is that we should make sure "all" modules can be compiled with Score, we will do it.
However, we still thanks for your check.

Other architectures don't care about buildability of allmodconfig or allyesconfig
(arm is a good [or maybe bad] example), so it is for sure not mandatory. On the other side, fixing such problems - especially when you have someone doing it for you - may prevent problems down the road, so while not mandatory
I consider it a useful goal to achieve.

If there is a driver which doesn't make sense to build at all, such as the SuperH
timer driver mentioned above, it can always be excluded from building with Kconfig.
If that causes opposition for some reason, you can still ignore that it fails
to build.

Guenter

#14 lore raw
In reply to Chen Gang

Sorry for the typo
.....
To discover combinations which doesn't make sense might waste Chen's time.
....

2014-06-23 11:07 GMT+08:00 Chen Gang <[email protected]>:

Quoted 42 lines · Guenter Roeck
Quoted 21 lines · Lennox Wu
Quoted 11 lines

Hi Chen,
Do you find other modules except device modules cause issues of compiling?
The applications of Score are limited. Acutally, some errors never occur in the limited applications, for example, the conbination consists of Score and the timer of SuperH. I'm not sure we should handle this kind of error.
If the rule is that we should make sure "all" modules can be compiled with Score, we will do it.
However, we still thanks for your check.

Other architectures don't care about buildability of allmodconfig or allyesconfig
(arm is a good [or maybe bad] example), so it is for sure not mandatory. On the other side, fixing such problems - especially when you have someone doing it for you - may prevent problems down the road, so while not mandatory
I consider it a useful goal to achieve.

Quoted 8 lines

If there is a driver which doesn't make sense to build at all, such as the SuperH
timer driver mentioned above, it can always be excluded from building with Kconfig.
If that causes opposition for some reason, you can still ignore that it fails
to build.

Yeah, what Guenter said is fine to me.

Although allmodconfig is not mandatory, it is still a useful goal to achieve.

Thanks.
--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

author
#16 lore raw
In reply to Lennox Wu
Quoted 5 lines · Lennox Wu

Yes, it's the reason we still thank Chen's checking.
Arbitrary configurations except the default configure are not guaranteed to pass compiling.
To discover combinations which doesn't make sense might weast Chen's time.

It does not waste my time resource (at least, I perform open source patches during my free time). And cross-compile all architectures with allmodconfig can:

- let architectures a little better than before.

- let other modules within kernel a little better than before.

- may let open source cross-compiler a little better than before.

And for me, I also can learn much during perform these things.

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
#17 lore raw
In reply to Chen Gang
Quoted 14 lines · Chen Gang
arch/score/include/uapi/asm/ptrace.h +0 -6
index f59771a..7a0ead9 100644
@@ -4,16 +4,16 @@
 #define PTRACE_GETREGS		12
 #define PTRACE_SETREGS		13
 
-#define PC		32
-#define CONDITION	33
-#define ECR		34
-#define EMA		35
-#define CEH		36
-#define CEL		37

arch/score/include/uapi/asm/ptrace.h line 12

Quoted 10 lines
arch/score/include/uapi/asm/ptrace.h +6 -4
-#define COUNTER		38
-#define LDCR		39
-#define STCR		40
-#define PSR		41
+#define SCORE_PC		32
+#define SCORE_CONDITION		33
+#define SCORE_ECR		34
+#define SCORE_EMA		35
+#define SCORE_CEH		36
+#define SOCRE_CEL		37

SOCRE?

arch/score/include/uapi/asm/ptrace.h line 19

Quoted 7 lines
arch/score/include/uapi/asm/ptrace.h +4 -0
+#define SCORE_COUNTER		38
+#define SCORE_LDCR		39
+#define SCORE_STCR		40
+#define SCORE_PSR		41
 
 #define SINGLESTEP16_INSN	0x7006
 #define SINGLESTEP32_INSN	0x840C8000

This is a uapi header file, what was done to ensure this doesn't introduce userspace breakage?

author
#18 lore raw
Quoted 20 lines · David Rientjes
Quoted 18 lines · Chen Gang
arch/score/include/uapi/asm/ptrace.h +0 -10
index f59771a..7a0ead9 100644
@@ -4,16 +4,16 @@
 #define PTRACE_GETREGS		12
 #define PTRACE_SETREGS		13
 
-#define PC		32
-#define CONDITION	33
-#define ECR		34
-#define EMA		35
-#define CEH		36
-#define CEL		37
-#define COUNTER		38
-#define LDCR		39
-#define STCR		40
-#define PSR		41
Quoted 9 lines

arch/score/include/uapi/asm/ptrace.h line 12

Quoted 6 lines
arch/score/include/uapi/asm/ptrace.h +6 -0
+#define SCORE_PC		32
+#define SCORE_CONDITION		33
+#define SCORE_ECR		34
+#define SCORE_EMA		35
+#define SCORE_CEH		36
+#define SOCRE_CEL		37

SOCRE?

OH, typo issue, thanks.

Quoted 11 lines

arch/score/include/uapi/asm/ptrace.h line 19

Quoted 7 lines
arch/score/include/uapi/asm/ptrace.h +4 -0
+#define SCORE_COUNTER		38
+#define SCORE_LDCR		39
+#define SCORE_STCR		40
+#define SCORE_PSR		41
 
 #define SINGLESTEP16_INSN	0x7006
 #define SINGLESTEP32_INSN	0x840C8000

This is a uapi header file, what was done to ensure this doesn't introduce userspace breakage?

Do you have any new idea for it, since you have question?

For me, one solving way is: use "#if defined(__KERNEL__) && defined(__LINUX__)" for check whether need a prefix (e.g. 'SCORE_') for it.

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
author
#6 lore raw
In reply to Chen Gang
Quoted 36 lines · Chen Gang
Quoted 35 lines · Guenter Roeck
Quoted 34 lines · Guenter Roeck

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1
when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1) 0x40c073 execute

     ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41.
Your assembler fix is included in this version of binutils.

Can we repeated this issue, or it is random? I have try it use my current gcc version, it has no issue.

If it can be repeated in the latest version, I shall use version compine (and try step by step) to fix it.

If real random issue, if possible, please help repeated and generate coredump file, and put it to a place to let me get back for analysing.

Thanks.

Quoted 14 lines
Quoted 6 lines

Never mind, turns out I get score:defconfig to compile when using the tip of the gcc 4.9 branch.

Guenter

OK, I shall try defconfig for it (originally, I try allmodconfig, not find this issue), and try to solve it, hope (although I am not quite sure), I can finish within this month (2014-06-30).

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
#7 lore raw
Quoted 42 lines · Chen Gang
Quoted 36 lines · Chen Gang
Quoted 35 lines · Guenter Roeck
Quoted 34 lines · Guenter Roeck

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1
when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1) 0x40c073 execute

      ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41.
Your assembler fix is included in this version of binutils.

Quoted 9 lines

Can we repeated this issue, or it is random? I have try it use my current gcc version, it has no issue.

If it can be repeated in the latest version, I shall use version compine (and try step by step) to fix it.

If real random issue, if possible, please help repeated and generate coredump file, and put it to a place to let me get back for analysing.

I got the same error each time. You should be able to reproduce it by checking out the latest gcc. If that doesn't produce the error, try checking out sha d8686b0aa945a. I didn't keep that compiler after the tip of the gcc 4.9 branch worked, so I'd have to rebuild it myself to reproduce it myself.

Note that compilation of libssp failed with d8686b0aa945a, which is why I disabled it. I didn't try to build it with 4.9.

Guenter

author
#8 lore raw
Quoted 53 lines · Guenter Roeck
Quoted 43 lines · Chen Gang
Quoted 37 lines · Chen Gang
Quoted 36 lines · Guenter Roeck
Quoted 35 lines · Guenter Roeck

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1
when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1)
0x40c073 execute

      ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41.
Your assembler fix is included in this version of binutils.

Quoted 9 lines

Can we repeated this issue, or it is random? I have try it use my current gcc version, it has no issue.

If it can be repeated in the latest version, I shall use version compine (and try step by step) to fix it.

If real random issue, if possible, please help repeated and generate coredump file, and put it to a place to let me get back for analysing.

Quoted 9 lines

I got the same error each time. You should be able to reproduce it by checking out the latest gcc. If that doesn't produce the error, try checking out sha d8686b0aa945a. I didn't keep that compiler after the tip of the gcc 4.9 branch worked, so I'd have to rebuild it myself to reproduce it myself.

Note that compilation of libssp failed with d8686b0aa945a, which is why I disabled it. I didn't try to build it with 4.9.

Thank you very much for your work.

It is my chance to fix gcc issues which I have planed, I shall continue based on it, hope I can finish within this month (within 2014-06-30).

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
author
#9 lore raw
Quoted 60 lines · Chen Gang
Quoted 59 lines · Guenter Roeck
Quoted 43 lines · Chen Gang
Quoted 37 lines · Chen Gang
Quoted 36 lines · Guenter Roeck
Quoted 35 lines · Guenter Roeck

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1
when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1)
0x40c073 execute

      ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41.
Your assembler fix is included in this version of binutils.

Quoted 9 lines

Can we repeated this issue, or it is random? I have try it use my current gcc version, it has no issue.

If it can be repeated in the latest version, I shall use version compine (and try step by step) to fix it.

If real random issue, if possible, please help repeated and generate coredump file, and put it to a place to let me get back for analysing.

I got the same error each time. You should be able to reproduce it by checking out the latest gcc. If that doesn't produce the error, try checking out sha d8686b0aa945a. I didn't keep that compiler after the tip of the gcc 4.9 branch worked, so I'd have to rebuild it myself to reproduce it myself.

Quoted 3 lines
Quoted 3 lines

Note that compilation of libssp failed with d8686b0aa945a, which is why I disabled it. I didn't try to build it with 4.9.

And I guess, I have found the root cause, and sent related information to gcc mailing list (also cc to you). And one temporary fix below (can cross compile score defconfig successfully for latest gcc):

diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index def10a2..af49601 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -2300,15 +2300,6 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype)

if (CODE_CONTAINS_STRUCT (TREE_CODE (olddecl), TS_DECL_WITH_VIS))
{
- /* Merge the section attribute.
- We want to issue an error if the sections conflict but that
- must be done later in decl_attributes since we are called
- before attributes are assigned. */
- if ((DECL_EXTERNAL (olddecl) || TREE_PUBLIC (olddecl) || TREE_STATIC (olddecl))
- && DECL_SECTION_NAME (newdecl) == NULL
- && DECL_SECTION_NAME (olddecl))
- set_decl_section_name (newdecl, DECL_SECTION_NAME (olddecl));
-

         /* Copy the assembler name.
   	 Currently, it can only be defined in the prototype.  */
         COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);

I shall continue for it, and provide the final property fix for it.

Thanks.

Quoted 9 lines

Thank you very much for your work.

It is my chance to fix gcc issues which I have planed, I shall continue based on it, hope I can finish within this month (within 2014-06-30).

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed
author
#10 lore raw
Quoted 61 lines · Chen Gang
Quoted 60 lines · Chen Gang
Quoted 59 lines · Guenter Roeck
Quoted 43 lines · Chen Gang
Quoted 37 lines · Chen Gang
Quoted 36 lines · Guenter Roeck
Quoted 35 lines · Guenter Roeck

I did that, and managed to build gcc.

However, when trying to compile score defconfig, I get internal compiler errors in cc1
when compiling drivers/tty/tty_mutex.o and block/elevator.o.

CC block/elevator.o
score-elf-gcc: internal compiler error: Segmentation fault (program cc1)
0x40c073 execute

      ../../gcc/gcc/gcc.c:2848

Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [block/elevator.o] Error 4
make: *** [block/elevator.o] Error 2

Do you see that as well ?

This is with

GNU assembler version 2.24.51 (score-elf) using BFD version (GNU Binutils) 2.24.51.20140622

and gcc configured with:

Configured with: ../gcc/configure --prefix=/opt/kernel/score --program-prefix=score-elf- \
--target=score-elf --without-header --disable-nls --enable-languages=c --disable-threads \
--disable-shared --enable-werror=no target_configargs=enable_vtable_verify=yes \
--enable-obsolete --disable-libssp --disable-libquadmath

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

Tip of gcc source is commit d8686b0aa945a, tip of binutils source is commit d17c74c1d41.
Your assembler fix is included in this version of binutils.

Quoted 9 lines

Can we repeated this issue, or it is random? I have try it use my current gcc version, it has no issue.

If it can be repeated in the latest version, I shall use version compine (and try step by step) to fix it.

If real random issue, if possible, please help repeated and generate coredump file, and put it to a place to let me get back for analysing.

I got the same error each time. You should be able to reproduce it by checking out the latest gcc. If that doesn't produce the error, try checking out sha d8686b0aa945a. I didn't keep that compiler after the tip of the gcc 4.9 branch worked, so I'd have to rebuild it myself to reproduce it myself.

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

Note that compilation of libssp failed with d8686b0aa945a, which is why I disabled it. I didn't try to build it with 4.9.

gcc members response quickly, and confirm it, the related fix patch which is made by a gcc member and I, have applied into latest gcc source code.

So... I finished it within this month (this thread will be end)! :-)

Thanks.

Quoted 40 lines

And I guess, I have found the root cause, and sent related information to gcc mailing list (also cc to you). And one temporary fix below (can cross compile score defconfig successfully for latest gcc):

diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index def10a2..af49601 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -2300,15 +2300,6 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype)

if (CODE_CONTAINS_STRUCT (TREE_CODE (olddecl), TS_DECL_WITH_VIS))
{
- /* Merge the section attribute.
- We want to issue an error if the sections conflict but that
- must be done later in decl_attributes since we are called
- before attributes are assigned. */
- if ((DECL_EXTERNAL (olddecl) || TREE_PUBLIC (olddecl) || TREE_STATIC (olddecl))
- && DECL_SECTION_NAME (newdecl) == NULL
- && DECL_SECTION_NAME (olddecl))
- set_decl_section_name (newdecl, DECL_SECTION_NAME (olddecl));
-

         /* Copy the assembler name.
   	 Currently, it can only be defined in the prototype.  */
         COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);

I shall continue for it, and provide the final property fix for it.

Thanks.

Quoted 9 lines

Thank you very much for your work.

It is my chance to fix gcc issues which I have planed, I shall continue based on it, hope I can finish within this month (within 2014-06-30).

Thanks.

Signature · 3 lines
Chen Gang

Open, share, and attitude like air, water, and life which God blessed