请选择 进入手机版 | 继续访问电脑版

greenplum6.13.0适配申威

服务器软件 服务器软件 1288 人阅读 | 1 人回复 | 2021-06-02

大佬好:
        目前在uos20-sw_64上适配greenplum6.13.0 ,修改gpdb-6.13.0/src/include/storage/s_lock.h
#if defined(__alpha) || defined(__alpha__)        /* Alpha */
/*
* Correct multi-processor locking methods are explained in section 5.5.3
* of the Alpha AXP Architecture Handbook, which at this writing can be
* found at ftp://ftp.netbsd.org/pub/NetBSD/misc/dec-docs/index.html.
* For gcc we implement the handbook's code directly with inline assembler.
*/
#define HAS_TEST_AND_SET

typedef unsigned long slock_t;

#define TAS(lock)  tas(lock)

static __inline__ int
tas(volatile slock_t *lock)
{
        register slock_t _res;

        __asm__        __volatile__(
                "        ldq                $0, %1        \n"
                "        bne                $0, 2f        \n"
                "        ldq_l        %0, %1        \n"
                "        bne                %0, 2f        \n"
                "        mov                1,  $0        \n"
                "        stq_c        $0, %1        \n"
                "        beq                $0, 2f        \n"
                "        mb                                \n"
                "        br                3f                \n"
                "2:        mov                1, %0        \n"
                "3:                                        \n"
:                "=&r"(_res), "+m"(*lock)
:
:                "memory", "0");
        return (int) _res;
}

#define S_UNLOCK(lock)        \
do \
{\
        __asm__ __volatile__ ("        mb \n"); \
        *((volatile slock_t *) (lock)) = 0; \
} while (0)

#endif /* __alpha || __alpha__ */
参考alpha的来修改宏定义,然后编译报错:
/tmp/ccTIskxP.s:30843: 错误:unknown opcode `ldq'
/tmp/ccTIskxP.s:30845: 错误:unknown opcode `ldq_l'
/tmp/ccTIskxP.s:30848: 错误:unknown opcode `stq_c'
/tmp/ccTIskxP.s:30850: 错误:unknown opcode `mb'
请大佬指点一下,怎么修改这块儿汇编代码。
回复

使用道具 举报

回答|共 1 个

changk

发表于 2021-6-3 14:34:46 | 显示全部楼层

您好,这个需要改成sw_64架构,汇编代码也需要改成申威架构的汇编代码,还是麻烦您提到问题反馈平台上吧,这样我们好安排人来协助解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则